Форум русской поддержки Joomla!® CMS
04.12.2016, 07:58:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Open Graph metadata

 (Прочитано 3201 раз)
0 Пользователей и 1 Гость смотрят эту тему.
intcorp
Завсегдатай
*****

Репутация: +12/-0
Offline Offline

Сообщений: 412


« : 20.09.2013, 14:08:35 »

Кто как реализовал у себя Open Graph metadata для товаров и категорий?
Нашел классный плагин HD-OG для Joomla 2.5, но он не поддерживает картинки магазина  dry
Записан
Igorenia
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 158


« Ответ #1 : 25.10.2013, 01:18:06 »

А зачем реализовывать Open Graph для JoomShopping? Яндекс в своих расширенных сниппетах для товаров ими не руководствуется, а использует YML.
Для Google же это реализовывается через Schema.org. Для JoomShopping это не раз обсуждалось, например тут.
Записан
nevigen
Moderator
*****

Репутация: +734/-16
Offline Offline

Пол: Мужской
Сообщений: 8803


http://n*****n.com


« Ответ #2 : 25.10.2013, 08:11:13 »

Open Graph metadata для фейсбук
Записан
intcorp
Завсегдатай
*****

Репутация: +12/-0
Offline Offline

Сообщений: 412


« Ответ #3 : 25.10.2013, 12:01:34 »

Не только фейсбук, а все нормальные соцсети.
Open Graph отображается в коде структурированных данных RDFa в обычных результатах поиска http://www.google.com/webmasters/tools/richsnippets?q=http%3A%2F%2Flr-company.com.ua%2Fkatalog%2Ftelo%2Faloe-vera-nabor-dlya-ukhoda-za-volosami-i-telom - вместо картики товара URL сайта как и в значении Open Graph
Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7738



« Ответ #4 : 25.10.2013, 12:06:59 »

ну судя по тому, что JoomShopping - нормальная соцсеть, то в нем конечно надо Open Graph metadata использовать обязательно Azn
Записан
intcorp
Завсегдатай
*****

Репутация: +12/-0
Offline Offline

Сообщений: 412


« Ответ #5 : 25.10.2013, 12:10:30 »

ну судя по тому, что JoomShopping - нормальная соцсеть, то в нем конечно надо Open Graph metadata использовать обязательно Azn
Это абы что отписать?)
Киньте ссылку с Open Graph и без таковой на страницу соц сети и поймете о чем речь.
Яндекс тоже приветствует данную разметку особенно в видео каталогах http://help.yandex.ru/webmaster/video/open-graph-markup.xml
« Последнее редактирование: 25.10.2013, 12:14:07 от intcorp » Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7738



« Ответ #6 : 25.10.2013, 13:00:31 »

Цитировать
Это абы что отписать?)
сори. вчитался. не понял сразу что надо. думал вы об выдаче поисковой.

intcorp, есть предложение. вы описываете подробно, так сказать, цели и задачи, чтобы было понятно всем, а не только вам, что за плагин такой, и на кой оно надо. а мы в свою очередь адаптируем его для ЖШ. как вам?

и кстати по поводу
Цитировать
Не только фейсбук, а все нормальные соцсети.
что то я так сходу не нашел, кто еще кроме фейсбука. в частности, наши какие понимают?
« Последнее редактирование: 25.10.2013, 13:20:23 от dmitry_stas » Записан
intcorp
Завсегдатай
*****

Репутация: +12/-0
Offline Offline

Сообщений: 412


« Ответ #7 : 25.10.2013, 13:44:52 »

Open Graph поддерживают: Фейсбук, Твиттер, Вконтакте, LinkedIn, Google+, по идее и одноклассники
Плагин HD-OG генерирует Open Graph для обычных материалов (по идее и других компонентов без поддержки og:image)на основе их мета тегов + берет интро картинку. Для джумшоппинга так же работает, за исключением og:image изображений товара и категории, которые плагин вытаскивать не умеет, вставляя URL главной страницы вместо ссылки на картинку.
Генерируемые мета:
Цитировать
<meta property="og:title" content="Heidi Klum Парфюмерная серия - Компания LR Украина "/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://lr-company.com.ua/katalog/heidi-klum/heidi-klum-parfyumernaya-seriya"/>
<meta property="og:image" content="http://lr-company.com.ua/" />
<meta property="og:description" content="Heidi Klum Парфюмерная серия" />
<meta property="og:site_name" content="Компания LR Украина " />
<meta property="og:locale" content="ru_RU"/>
Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7738



« Ответ #8 : 25.10.2013, 15:06:27 »

если можно еще вот этой фразы
Цитировать
Киньте ссылку с Open Graph ... на страницу соц сети
раскройте смысл на примере например ВКонтакте или Одноклассники. или ссылку просто, если у них это описано
Записан
intcorp
Завсегдатай
*****

Репутация: +12/-0
Offline Offline

Сообщений: 412


« Ответ #9 : 25.10.2013, 15:21:15 »

если можно еще вот этой фразы раскройте смысл на примере например ВКонтакте или Одноклассники. или ссылку просто, если у них это описано
Суть в том, что если запостить на стену (к примеру) вконтакте ссылку на страницу с Open Graph, то отобразится блок с заголовком страницы, описанием и картинкой, которые прописаны в Open Graph. Иначе, там отображается не всегда то, что хотелось бы, особенно это касается картинок. Это же касается добавления ссылок с группу и когда люди ставят лайки с рекомендациями страницы.
Вкратце, Open Graph - основа успешного продвижения сайта через соц сети.


* 7799.jpg (12.44 Кб, 398x313 - просмотрено 201 раз.)
Записан
instalator_
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #10 : 31.10.2013, 15:52:57 »

Не решил вопрос с отображением картинок? сейчас пытаюсь покапать HD_OG.php для добавления пути картинки в теги, пока без результатно.

Вот на что наткнулся, но не ясно куда вставлять
http://stackoverflow.com/questions/12939909/get-images-from-article-in-joomla-with-php
« Последнее редактирование: 31.10.2013, 16:08:08 от instalator_ » Записан
instalator_
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #11 : 31.10.2013, 16:25:31 »

Вообщем вот что получилось, если что не так поправте. Ссылка вроде на кртинку в теге появилась.
подправленный файл HD_OG.php
Код:
<?php
# HD-OG   3                                       
# Copyright (C) 2013 by Hyde-Design                 
# Homepage   : www.hyde-design.co.uk            
# Author     : Hyde-Design                   
# Email      : sales@hyde-design.co.uk            
# Version    : 3.2                               
# License    : http://www.gnu.org/copyleft/gpl.html GNU/GPL 

// no direct access
defined('_JEXEC') or die('Restricted access');
$buffer = JResponse::getBody();
jimport('joomla.plugin.plugin');
jimport('joomla.application.component.model');




class plgSystemHD_OG extends JPlugin
{function plgSystemHD_OG(&$subject, $config) {parent::__construct($subject, $config);
$this->_plugin = JPluginHelper::getPlugin( 'system', 'HD_OG' );
}

function onAfterRender()
{ $element_url = '/administrator/'; $current_url = $_SERVER['REQUEST_URI'];
global $mainframe;
$buffer = JResponse::getBody();
if (strstr($current_url, $element_url)) {;} else {

$document = &JFactory::getDocument();
$app = JFactory::getApplication();

$hdog_title_tmp = $document->getTitle();
$hdog_title = '
<meta property="og:title" content="'.$hdog_title_tmp.'"/>
';
$hdog_type_tmp = $this->params->get( 'hdog_type' );
$hdog_type =  '<meta property="og:type" content="'.$hdog_type_tmp.'"/>
';
$hdog_base = $document->getBase();
$hdog_url =   '<meta property="og:url" content="'.$hdog_base.'"/>
';

//get thumbnail image
$doc = new DOMDocument();
@$doc->loadHTML($buffer);
$images = $doc->getElementsByTagName('img');
if (strlen($hdog_base) <= 26)
{
    $image = $images->item(0)->getAttribute('src');
}
else
{
    $image = $images->item(1)->getAttribute('src');
}
if (substr($image, 0, 4)!= 'http') $image = JURI::base().$image;
$hdog_image =   '<meta property="og:image" content="'.$image.'" />
';


        //check article view

        $view =JRequest::getVar('view');
        if ($view == "article") {
        $articlesModel = JModel::getInstance('ContentModelArticle');
        $articleId = JRequest::getInt('id', 0);
        $hdog_image_thumb = '<meta property="og:image" content="'.$articleId.'" />
';            $article = $articlesModel->getItem($articleId);
              $imagesCode = $article->images; $thumbCode = str_replace("\/", "/", $imagesCode); $thumb = explode('"', $thumbCode); $thumb_img = $thumb[03];
              if (!empty($thumb_img)) {$hdog_image_thumb = '<meta property="og:image" content="'.JURI::base().$thumb_img.'" />
';}           else {$hdog_image_thumb = '<meta property="og:image" content="'.JURI::base().$hdog_image_tmp.'" />
';}}         
        //check category view
        if ($view == "category") {
        $categoriesModel = JModel::getInstance('ContentModelCategories');
        $category = JRequest::getVar('id');
        $category = '9';
        $db = JFactory::getDbo();
        $query = $db->getQuery(true);
         $query->select ('alias');
         $query->from('#__categories');
         $query->where('id=$category');

             $db->setQuery($query);
             $results = $db->loadObjectList();

             
//       echo 'xx '.$results.' xx';
                 
        };
         $hdog_image_thumb = '<meta property="og:image" content="'.$categoryId.'" />
';           
             
  if (!empty($thumb_img)) {$hdog_image_thumb = '<meta property="og:image" content="'.JURI::base().$thumb_img.'" />
';}           else {$hdog_image_thumb = ''.$hdog_image.'
';};

        //get meta description
$hdog_desc_tmp = $document->getDescription();
$hdog_desc =   '<meta property="og:description" content="'.$hdog_desc_tmp.'" />
';

        //get site name
$hdog_name_tmp = $app->getCfg('sitename');
        $hdog_name =   '<meta property="og:site_name" content="'.$hdog_name_tmp.'" />
';

        //get locale
        $lang =& JFactory::getLanguage(); $sitelanguage = $lang->getTag(); $oglanguage = str_replace ('-', '_', $sitelanguage);
$hdog_locale = '<meta property="og:locale" content="'.$oglanguage.'"/>
';
       
        //get admin id
$hdog_admins_tmp = $this->params->get( 'hdog_admins' );
        $hdog_admins =   '<meta property="fb:admins" content="'.$hdog_admins_tmp.'"/>
';

        // render all to screen
$hdog_all = $hdog_title.$hdog_type.$hdog_url.$hdog_image_thumb.$hdog_desc.$hdog_name.$hdog_locale;
$use_admin = $this->params->get( 'use_admin' );
if ($use_admin == '1') {$hdog_all = $hdog_all.$hdog_admins;}
        $buffer = str_replace ('<html xmlns="http://www.w3.org/1999/xhtml"', '<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:og="http://ogp.me/ns#"
      xmlns:fb="http://www.facebook.com/2008/fbml" ', $buffer);
    $buffer = str_replace ('</title>', '</title>'.$hdog_all, $buffer);

JResponse::setBody($buffer);
return true;
}}}
Записан
intcorp
Завсегдатай
*****

Репутация: +12/-0
Offline Offline

Сообщений: 412


« Ответ #12 : 31.10.2013, 18:43:01 »

У меня с этим кодом вытаскивает картинку из слайдшоу, что в категории шопа, что в карточке товара.
Записан
Exciter
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 131


Теория + практика


« Ответ #13 : 18.12.2014, 19:21:19 »

Стандартными средствами Joomla этого не сделать.
Код:
public function fetchHead
выводит только
Код:
meta name
meta property не вывести

Надо либо код Joomla допиливать, либо искать третью сторону для решения.
Записан
EGGroup_CCTV
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 5


« Ответ #14 : 30.03.2015, 19:16:39 »

У меня реализовано все, что бы картинку вытащить (из товара) нужно плагин устанавливать отдельно. Если ссылку не удалят http://videonabludenie26.ru/katalog-tovarov/ip-kamery/dlya-vnutrenney-ustanovki/vc-8241-2-8-12-ir.htmlможете перейти и посмотреть как работает все это. Да и кстати, так же реализовано и "twitter:image:src" 
Записан
ViktorMah
Давно я тут
****

Репутация: +26/-0
Offline Offline

Сообщений: 252


« Ответ #15 : 31.03.2015, 10:49:07 »

я вот думаю, а что мешает разместить сей код прямо в шаблоне карточки товара? как это делается для разметки schema.org
что позволит прямо из объекта подхватывать картинки
Код
<meta property="og:title" content="Heidi Klum Парфюмерная серия - Компания LR Украина "/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://lr-company.com.ua/katalog/heidi-klum/heidi-klum-parfyumernaya-seriya"/>
<meta property="og:image" content="http://lr-company.com.ua/" />
<meta property="og:description" content="Heidi Klum Парфюмерная серия" />
<meta property="og:site_name" content="Компания LR Украина " />
<meta property="og:locale" content="ru_RU"/>
 
« Последнее редактирование: 31.03.2015, 23:01:18 от ViktorMah » Записан
EGGroup_CCTV
Новичок
*

Репутация: +1/-0
Offline Offline

Сообщений: 5


« Ответ #16 : 31.03.2015, 11:56:31 »

Что бы более менее это все автоматизировать я сделал к примеру так: добавил в файл http://ваш сайт.ru/libraries/joomla/document/html/renderer/head.php
Код:
$buffer .= $tab . '<meta property="og:description" content="' . htmlspecialchars($documentDescription). '" />' . $lnEnd;
$buffer .= $tab . '<meta property="og:title" content="' . htmlspecialchars($document->getTitle(), ENT_COMPAT, 'UTF-8'). '"/>' . $lnEnd;
$buffer .= $tab . '<meta property="og:url" content="' . $document->getBase(). '" />' . $lnEnd;
$buffer .= $tab . '<meta property="og:site_name" content="EGGoup CCTV" />' . $lnEnd;
$buffer .= $tab . '<meta property="og:type" content="website" />' . $lnEnd;

в принципе этого достаточно, а что бы с картинкой неразберихи не было нужно плагин дополнительно установить и наступит счастье))))
Записан
alex_volkhov
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 13


« Ответ #17 : 25.06.2015, 13:24:51 »

в принципе этого достаточно, а что бы с картинкой неразберихи не было нужно плагин дополнительно установить и наступит счастье))))
А какой именно плагин еще надо установить? Есть ли вообще что-то чтобы настроить всю микроразметку, Open Graph и т.п. для Joomla и VirtueMart?
Записан
Linfuby
Живу я здесь
******

Репутация: +165/-0
Offline Offline

Пол: Мужской
Сообщений: 1202


Всё просто...


« Ответ #18 : 10.07.2015, 08:34:40 »

А какой именно плагин еще надо установить? Есть ли вообще что-то чтобы настроить всю микроразметку, Open Graph и т.п. для Joomla и VirtueMart?
С такими вопросами обращайтесь в раздел VirtueMart. Данный раздел относится к JoomShopping
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet