Если у вас истекла лицензия Битрикса, то можете скачать модуль с github.
Что делает модуль:
Модуль автоматически добавляет:
- og:title - из title страницы
- og:description - из description страницы
- og:url - текущая страница
- og:site_name - название сайта
- og:image - картинка из текущего элемента или раздела
- og:image:type - mime-type картинки
- og:image:width - ширина картинки
- og:image:height - высота картинки
- og:image:secure_url - ссылка при https
- любое другое свойство вам нужно указать в настройках
- Выводит у элементов и разделов Open Graph поля, для заполнения.
- Позволяет задать общую картинку для Open Graph.
- Кэширует данные, тем самым не нагружая сайт лишними запросами.
- Позволяет добавить страницы-исключения.
- Автоматически определяет og:image
- Позволяет задать максимальный размер для og:image и ресайзить картинки "на лету"
- Позволяет задать порядок применения алгоритмов присваивания значений в Open Graph
- Позволяет легко настроить Open Graph
- время жизни кэша
- страницы исключений
- вывод таба с Open Graph полями в элементах
- вывод таба с Open Graph полями в разделах
- установка картинки, по умолчанию
Кому пригодится:
Подойдет всем.
Если возникнет сложность в настройке, мы вам поможем!
Как пользоваться:
Порядок применения алгоритмов - вы можете указать какой порядок присваивания данных для вас является наиболее приемлемым.
По умолчанию порядок таков:
- og_fields (Данные из полей OpenGraph элементов/разделов) - поиск значений в полях во вкладке OpenGraph у элементов и разделов
- iblock_fields (Данные из полей элементов/разделов) - пустые значения заполняются данными из полей iblock у элементов и разделов
- prop_fields (Данные из SetPageProperty/SetDirProperty) - пустые значения заполняются данными из указанных свойствах страниц (SetPageProperty или SetDirProperty)
- default (Данные из алгоритма "по умолчанию") - оставшиеся пустые значения заполняются данными по старому алгоритму
Картинка по умолчанию - указывается в админке. Выводится при отсутствии картинки в свойства 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
- og:image:secure_url
Как вывести 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
Поблагодарить автора