- Open Graph - быстро, легко и автоматически

Open Graph - быстро, легко и автоматически

Код продукта: dev2fun.opengraph
Бесплатно
В корзину
Товар добавлен
Описание
Характеристики
Модуль позволяет автоматизировать и удобно управлять протоколом Open Graph
Если у вас истекла лицензия Битрикса, то можете скачать модуль с github.


Что делает модуль:

Модуль автоматически добавляет:
  • og:title - из title страницы
  • og:description - из description страницы
  • og:url - текущая страница
  • og:site_name - название сайта
  • любое другое свойство вам нужно указать в настройках
Также модуль:
  • Выводит у элементов и разделов Open Graph поля, для заполнения.
  • Позволяет задать общую картинку для Open Graph.
  • Кэширует данные, тем самым не нагружая сайт лишними запросами.
  • Позволяет добавить страницы-исключения.
  • Позволяет задать максимальный размер для og:image и ресайзить картинки "на лету"
  • Позволяет задать порядок применения алгоритмов присваивания значений в Open Graph
  • Позволяет легко настроить Open Graph
Присутствуют настройки:
  • время жизни кэша
  • страницы исключений
  • вывод таба с Open Graph полями в элементах
  • вывод таба с Open Graph полями в разделах
  • установка картинки, по умолчанию
Можно настраивать параметры выше как угодно и добавлять свои параметры взятые с оф.сайта. Читайте ниже.

Кому пригодится:

Подойдет всем.
Если возникнет сложность в настройке, мы вам поможем!

Как пользоваться:

Порядок применения алгоритмов - вы можете указать какой порядок присваивания данных для вас является наиболее приемлемым.

По умолчанию порядок таков:
  • og_fields (Данные из полей OpenGraph элементов/разделов) - поиск значений в полях во вкладке OpenGraph у элементов и разделов
  • iblock_fields (Данные из полей элементов/разделов) - пустые значения заполняются данными из полей iblock у элементов и разделов
  • prop_fields (Данные из SetPageProperty/SetDirProperty) - пустые значения заполняются данными из указанных свойствах страниц (SetPageProperty или SetDirProperty)
  • default (Данные из алгоритма "по умолчанию") - оставшиеся пустые значения заполняются данными по старому алгоритму
Уменьшение размеров (resize) - вы можете включить автоматическое уменьшение размеров картинок. Также вы можете указать максимальную ширину/высоту и выбрать 1 из 3 стандартных алгоритмов ресайза.


Картинка по умолчанию - указывается в админке. Выводится при отсутствии картинки в свойства og:image.

Страницы исключений - пути до страниц от корня сайта, на которых мета-данные Open Graph выводиться не должны. Указывать со всеми расширениями, без GET-параметров. Если нужно исключить главную страницу сайта, то прописываем index.

Обозначение свойств в админке у элементов и разделов - на странице редактирования элементов тебе можно заполнять Open Graph поля. (Вкладка "Настройки Open Graph")

og:title: Если не задан, то подставится значение из "Названия элемента" (NAME).
og:description: Если не задан, то подставится значение из "Краткое описание" (PREVIEW_TEXT), если оно путо, то значение из "Детальное описание" (DETAIL_TEXT). Внимание: Автоматическое ограничение кол-ва символов в 121 символ.
og:image: Если у вас указана активность параметра og:image и вы не укажите картинку для og:image, то по умолчанию подставится картинка из PREVIEW_PICTURE, если она не указана, то подставится картинка из DETAIL_PICTURE.

Свойства, которые не доступны для пользовательского редактирования:
  • og:url
  • og:site_name
  • og:image:type
  • og:image:width
  • og:image:height
Все остальные свойства указываются в настройках и выводятся.

Как вывести OpenGraph у элементов:
Вам необходимо прописать в result_modifier.php шаблона используемого компонента следующее:
// подгружаем все модуль и все его классы
\Bitrix\Main\Loader::includeModule('dev2fun.opengraph');
\Dev2fun\Module\OpenGraph::Show($arResult['ID'],'element'); 
// где arResult['ID'] - идентификатор элемента
// где element - тип, т.к. мы выводим для элемента, поэтому element

Как вывести OpenGraph у разделов:
Вам необходимо прописать в result_modifier.php шаблона используемого компонента следующее:
// подгружаем все модуль и все его классы
\Bitrix\Main\Loader::includeModule('dev2fun.opengraph');
\Dev2fun\Module\OpenGraph::Show($arResult['ID'],'section'); 
// где arResult['ID'] - идентификатор раздела
// где section - тип, т.к. мы выводим для раздела, поэтому section

И обязательно сбросить кэш.

Поддержка установки Open Graph свойств с помощью SetPageProperty, SetDirProperty оставлена, но с пониженным приоритетом.

Логика: (данные записываются только если значение пусто)
  • поиск данных в элементах/разделах
  • поиск данных в SetPageProperty, SetDirProperty
  • установка данных из значений по умолчанию
  • заворачивание данных в мета-теги
  • вывод мета-тегов
Список событий:

название событияпередаваемые
переменные
описание
OnBeforeAddOpenGraph &$arSettings - массив настроек
&$cache_id - идентификатор кэша
Событие запускается перед запуском всех алгоритмов
OnAfterAddOgFields &ogValues - массив полей со значениямиСобытие запускается после алгоритма  og_fields
OnAfterAddIBlockFields&ogValues - массив полей со значениямиСобытие запускается после алгоритма  iblock_fields
OnAfterAddPropFields&ogValues - массив полей со значениямиСобытие запускается после алгоритма  prop_fields
OnAfterAdd&ogValues - массив полей со значениямиСобытие запускается после всех алгоритмов
OnBeforeOutput&$arData - массив полей со значениямиСобытие запускается перед выводом свойств (не кэшируется!)


Если возникнет сложность в настройке, мы вам поможем!

Если есть нарекания или предложения по улучшению модуля пишите на почту техподдержки.

github
Поблагодарить автора
Адаптивность Да
Поддержка Композита Да
Совместим с редакциями Первый сайт, Старт, Стандарт, Малый бизнес, Эксперт, Бизнес, Бизнес-процессы, Энтерпрайз
Стоимость Бесплатные решения
Закрыть