Як додати 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; ?>" >

Але особисто в мене все працює і без зміни індексного файлу шаблону.

АВТОРИЗАЦІЯ