dev2fun: На неделе команда Dev2Fun выпустила новое обновление (1.1.0), которое сильно усовершенствовало модуль. Всем кто использует версию 1.0.7 и младше, рекомендуем обновиться. Миграция с 1.0.x на 1.1.x Миграция происходит при обновлении автоматически. Внимание!

Дата : 24 Сентябрь, 2017
Опубликовал
1 Star2 Stars3 Stars4 Stars5 Stars (Проголосуй первым!)
Загрузка...

На неделе команда Dev2Fun выпустила новое обновление (1.1.0), которое сильно усовершенствовало модуль.

Всем кто использует версию 1.0.7 и младше, рекомендуем обновиться.

Миграция с 1.0.x на 1.1.x

Миграция происходит при обновлении автоматически.

Внимание! В модуле закончена поддержка php5.3 и младше.

Что нового

  • Добавлен функционал страниц исключений вывода OpenGraph

Теперь вы можете указать страницы на которых не нужно выводить теги OpenGraph.

Пути до страниц указывать от корня.

Пример 1:

Задача:

Нужно запретить вывод мета-тегов OpenGraph для страницы «/catalog/auto/audi/a8/», а также запретить вывод для главной страницы.

Решение:

Указываем в поле «catalog/auto/audi/a8/», а в другом поле «index» (index, от корня, это ключевое значение, которое модуль воспримет за главную страницу).

  • Добавлена возможность указать OpenGraph в элементах инфоблока

Выводятся все поля, которые указаны в настройках модуля.

Поле description — выводится как textarea

Поле image- выводится как fileinput

Все остальные поля выводятся, как input

Поля которые не выводятся, но значения проставляются автоматически:

  • url — текущая отображаемая страница
  • image:width — ширина картинки, которая сейчас в og:image
  • image:type — тип картинки (png,jpg, etc.), которая сейчас в og:image
  • image:height — высота картинки, которая сейчас в og:image
  • site_name — название сайта из настроек сайта
  • Добавлена возможность указать OpenGraph в разделах инфоблока

Выводятся все поля, которые указаны в настройках модуля.

Поле description — выводится как textarea

Поле image- выводится как fileinput

Все остальные поля выводятся, как input

Поля которые не выводятся, но значения проставляются автоматически:

  • url — текущая отображаемая страница
  • image:width — ширина картинки, которая сейчас в og:image
  • image:type — тип картинки (png,jpg, etc.), которая сейчас в og:image
  • image:height — высота картинки, которая сейчас в og:image
  • site_name — название сайта из настроек сайта

  • Добавлена настройка вывода OpenGraph полей в элементах и разделах
  • Добавлена загрузка картинки для OpenGraph, по умолчанию

Как интегрировать поддержку OpenGraph

Мы сделали автоматический вывод Open Graph для:

  • title — из заголовка страница
  • description — из описания страницы
  • url — текущая страница
  • site_name — название из настроек сайта
  • type — по умолчанию website

Для всего остального и собственных полей мы сделали 2 способа интеграции

Способ #1

Указать на нужных страницах названия полей добавляя впереди «og:»

Примеры:

Переписать поле og:title
====code====

$APPLICATION->SetPageProperty('og:title','Новое значение'); 
// или
// $APPLICATION->SetDirProperty('og:title','Новое значение');

=============

Установить значение в og:image
====code====

$APPLICATION->SetPageProperty('og:image','http://rockisfest.ru/upload/resize_cache/iblock/5a9/380_9999_1/5a9163ca1aca97d620d6640dd271a7f6.jpg');  
// или  
// $APPLICATION->SetDirProperty('og:image','http://rockisfest.ru/upload/resize_cache/iblock/5a9/380_9999_1/5a9163ca1aca97d620d6640dd271a7f6.jpg');

=============

Установить любое своё свойство, допустим og:custom

Предварительно нужно проверить добавлено ли поддержка custom в настройках модуля, если нет, то добавить
====code====

$APPLICATION->SetPageProperty('og:custom','Новое значение'); 
// или
// $APPLICATION->SetDirProperty('og:custom','Новое значение');

=============

Если нужно сделать установку значений из элементов и разделов, то необходимо прописывать в result_modifier.php используемого шаблона.

После чего сбросить кэш.

Способ #2

Этот способ наиболее проще первого, но, в данной версии, представляет меньше гибкости.

Этот способ мы сделали для более удобной интеграции Open Graph в компонентах.

Необходимо в result_modifier.php или component_epilog.php прописать вызов метода:

====code====

Dev2funModuleOpenGraph::Show($refId,$type);

=============

Где $refIf — идентификатор элемента или раздела

Где $type — тип объекта element или section.

element — вывод для элементов инфоблока

section — вывод для разделов инфоблока

В результате result_modifier.php должно получиться следующее:

Для компонента bitrix:news.detail
====code====

Dev2funModuleOpenGraph::Show($arResult['ID'],'element');

=============

Для компонента bitrix:news.list
====code====

Dev2funModuleOpenGraph::Show($arResult['ID'],'section');

=============

Автор модуля: darkfriend
Поблагодарить автора

Ближайшие релизы:

Следите за новостями