Блог специалистов
27.09.2017

Сделать вывод Open Graph protocol у новости или статьи в Битриксе

Зачастую нужно использовать Open Graph protocol, чтобы репосты записи в facebook и другие соц.сети имели нужную картинку, заголовок, анонс и т.п. Чтобы просто добавить на страницу можно использовать код, вставленный в начале index.php:

$APPLICATION->AddHeadString('<meta property="og:type" content="website" />'); $APPLICATION->AddHeadString('<meta property="og:title" content="Название" />'); $APPLICATION->AddHeadString('<meta property="og:description" content="Описание" />'); $APPLICATION->AddHeadString('<meta property="og:image" content="http://путь к картинке" />');

Но вот, чтобы сделать это у элемента инфоблока автоматически, придется немного поработать с инфоблоком. Посмотрим на примере news.detail.

1. В директории шаблона создаем файл result_modifier.php с кодом, указывающим какие данные нам нужны, это нужно, чтобы данные закэшировались и их можно было использовать в component_epilog.php:

<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die(); $this->__component->SetResultCacheKeys(array( "NAME", "PREVIEW_TEXT", "PREVIEW_PICTURE", "DETAIL_PICTURE" ));?>

Важно! Чтобы картинка стала подхватываться, нужно в настройках компонента, в "Источник данных" выбрать Картинку для анонса и Детальную картинку, смотря какая нужна.

2. Далее создаем второй файл с названием component_epilog.php и с кодом нужных полей стандарта Open Graph protocol:

<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); $APPLICATION->AddHeadString('<meta property="og:type" content="website" />'); $APPLICATION->AddHeadString('<meta property="og:title" content="' . $arResult["NAME"] . '" />'); $APPLICATION->AddHeadString('<meta property="og:description" content="' . $arResult["PREVIEW_TEXT"] . '" />'); $APPLICATION->AddHeadString('<meta property="og:image" content="http://domen.ru'.$arResult["DETAIL_PICTURE"]["SRC"].'" />'); ?>

3. Теперь можно все проверить в сервисе фесбука https://developers.facebook.com/tools/debug/sharing/ и тут отладчик https://developers.facebook.com/tools/debug/og/object/


Количество показов: 3176




Возврат к списку