Как добавить Open Graph в VirtueMart

Open Graph в VirtueMart

Существует много модулей и плагинов с помощью которых можно реализовать Open Graph Meta Tag на вашем сайте Joomla (включая и интернет-магазин на VirtueMart). Но лично я не люблю нагружать свой сайт лишними сторонними расширениями. Поэтому считаю, что лучше самостоятельно внести небольшие правки в код компонента VirtueMart и тем самым внедрить в интернет-магазин микроразметку Open Graph.

Тем более, что для этого нам понадобится произвести очень незначительную правку кода.

Пошаговая инструкция, как добавить Open Graph Meta Tag в VirtueMart

Шаг 1. Открываем файл /components/com_virtuemart/views/productdetails/tmpl/default.php и после

// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die('Restricted access');

добавляем следующий код

$og_title = $this->product->product_name;
$og_price_amount = $this->product->prices['salesPrice'];
$og_url = JURI::current();
$og_desc = $this->product->product_s_desc;
$og_image = JRoute::_(JURI::base().$this->product->images[0]->file_url);
 
$app =& JFactory::getApplication();
 
$doc = JFactory::getDocument();
$doc->addCustomTag('<meta property="og:type" content="product"/>');
$doc->addCustomTag('<meta property="og:title" content="'.$og_title.'"/>');
$doc->addCustomTag('<meta property="og:price:amount" content="'.$og_price_amount.'"/>');
$doc->addCustomTag('<meta property="og:price:currency" content="Валюта (например UAH)"/>');
$doc->addCustomTag('<meta property="og:site_name" content="Ваш сайт (например d-nik.pro)"/>');
$doc->addCustomTag('<meta property="og:url" content="'.$og_url.'"/>');
$doc->addCustomTag('<meta property="og:description" content="'.$og_desc.'"/>');
$doc->addCustomTag('<meta property="og:image" content="'.$og_image.'"/>');

Шаг 2. Открываем индексный файл шаблона и меняем секцию <html> на следующую

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>" >

Но лично у меня все работает и без изменения индексного файла шаблона.

АВТОРИЗАЦИЯ