Open Graph - быстро, легко и автоматически
Указанные на сайте цены приведены как справочная информация и не являются публичной офертой. Окончательная цена товара и стоимости покупки указывается в счете на оплату
Модуль позволяет автоматизировать и удобно управлять протоколом <a href="http://ogp.me/" target="_blank">Open Graph</a><br>Если у вас истекла лицензия Битрикса, то можете скачать модуль с <a href="https://github.com/darkfriend/dev2fun.opengraph" target="_blank">github</a>.<br><br><br><b>Что делает модуль:</b><br><br>Модуль автоматически добавляет:<br><ul><li>og:title - из title страницы<br></li><li>og:description - из description страницы<br></li><li>og:url - текущая страница<br></li><li>og:site_name - название сайта<br></li><li>og:image - картинка из текущего элемента или раздела<br></li><li>og:image:type - mime-type картинки<br></li><li>og:image:width - ширина картинки<br></li><li>og:image:height - высота картинки<br></li><li>og:image:secure_url - ссылка при https<br></li><li>любое другое свойство вам нужно указать в настройках<br></li></ul><b>Также модуль</b>:<br><ul><li>Выводит у элементов и разделов Open Graph поля, для заполнения.<br></li><li>Позволяет задать общую картинку для Open Graph.<br></li><li>Кэширует данные, тем самым не нагружая сайт лишними запросами.<br></li><li>Позволяет добавить страницы-исключения.<br></li><li>Автоматически определяет og:image<br></li><li>Позволяет задать максимальный размер для og:image и ресайзить картинки "на лету"<br></li><li>Позволяет задать порядок применения алгоритмов присваивания значений в Open Graph<br></li><li>Позволяет легко настроить Open Graph<br></li></ul><b>Присутствуют настройки</b>:<br><ul><li>время жизни кэша<br></li><li>страницы исключений<br></li><li>вывод таба с Open Graph полями в элементах<br></li><li>вывод таба с Open Graph полями в разделах<br></li><li>установка картинки, по умолчанию<br></li></ul>Можно настраивать параметры выше как угодно и добавлять свои параметры взятые с <a href="http://ogp.me/" target="_blank">оф.сайта</a>. <i>Читайте ниже.</i><br><br><b>Кому пригодится:</b><br><br>Подойдет всем.<br><b>Если возникнет сложность в настройке, мы вам поможем!</b><br><br><b>Как пользоваться:</b><br><br><b>Порядок применения алгоритмов</b> - вы можете указать какой порядок присваивания данных для вас является наиболее приемлемым.<br><br>По умолчанию порядок таков:<br><ul><li><b>og_fields (Данные из полей OpenGraph элементов/разделов</b>) - поиск значений в полях во вкладке OpenGraph у элементов и разделов<br></li><li><b>iblock_fields (Данные из полей элементов/разделов</b>) - пустые значения заполняются данными из полей iblock у элементов и разделов<br></li><li><b>prop_fields (Данные из SetPageProperty/SetDirProperty</b>) - пустые значения заполняются данными из указанных свойствах страниц (SetPageProperty или SetDirProperty)<br></li><li><b>default (Данные из алгоритма "по умолчанию"</b>) - оставшиеся пустые значения заполняются данными по старому алгоритму<br></li></ul><b>Уменьшение размеров (resize) - </b>вы можете включить автоматическое уменьшение размеров картинок. Также вы можете указать максимальную ширину/высоту и выбрать 1 из 3 стандартных алгоритмов ресайза.<br><br><br><b>Картинка по умолчанию</b> - указывается в админке. Выводится при отсутствии картинки в свойства og:image.<br><br><b>Страницы исключений</b> - пути до страниц от корня сайта, на которых мета-данные Open Graph выводиться не должны. Указывать со всеми расширениями, без GET-параметров. Если нужно исключить главную страницу сайта, то прописываем index.<br><br>Обозначение свойств в админке у элементов и разделов - на странице редактирования элементов тебе можно заполнять Open Graph поля. (Вкладка "Настройки Open Graph")<br><br><b>og:title</b>: Если не задан, то подставится значение из "Названия элемента" (NAME).<br><b>og:description</b>: Если не задан, то подставится значение из "Краткое описание" (PREVIEW_TEXT), если оно путо, то значение из "Детальное описание" (DETAIL_TEXT). <b>Внимание</b>: Автоматическое ограничение кол-ва символов в 121 символ.<br><b>og:image: </b>Если у вас указана активность параметра og:image и вы не укажите картинку для og:image, то по умолчанию подставится картинка из PREVIEW_PICTURE, если она не указана, то подставится картинка из DETAIL_PICTURE.<br><br>Свойства, которые не доступны для пользовательского редактирования:<br><ul><li>og:url<br></li><li>og:site_name<br></li><li>og:image:type<br></li><li>og:image:width<br></li><li>og:image:height<br></li><li>og:image:secure_url<br></li></ul>Все остальные свойства указываются в настройках и выводятся.<br><br><b>Как вывести OpenGraph у элементов (точная интеграция)</b>:<br>Вам необходимо прописать в result_modifier.php шаблона используемого компонента следующее:<div class="code"><table class="code"><tr><td><pre>// подгружаем все модуль и все его классы
\Bitrix\Main\Loader::includeModule('dev2fun.opengraph');
\Dev2fun\Module\OpenGraph::Show($arResult['ID'],'element');
// где arResult['ID'] - идентификатор элемента
// где element - тип, т.к. мы выводим для элемента, поэтому element</pre></td></tr></table></div><br><b>Как вывести OpenGraph у разделов </b><b>(точная интеграция):</b><br>Вам необходимо прописать в result_modifier.php шаблона используемого компонента следующее:<div class="code"><table class="code"><tr><td><pre>// подгружаем все модуль и все его классы
\Bitrix\Main\Loader::includeModule('dev2fun.opengraph');
\Dev2fun\Module\OpenGraph::Show($arResult['ID'],'section');
// где arResult['ID'] - идентификатор раздела
// где section - тип, т.к. мы выводим для раздела, поэтому section</pre></td></tr></table></div><br><b>И обязательно сбросить кэш.<br></b><br>Поддержка установки Open Graph свойств с помощью SetPageProperty, SetDirProperty оставлена, но с пониженным приоритетом.<br><br><b>Логика</b>: (данные записываются только если значение пусто)<br><ul><li>поиск данных в элементах/разделах<br></li><li>поиск данных в SetPageProperty, SetDirProperty<br></li><li>установка данных из значений по умолчанию<br></li><li>заворачивание данных в мета-теги<br></li><li>вывод мета-тегов<br></li></ul><b>Список событий</b>:<br><i><b><br></b></i><table class="data-table"><tr><td> название события</td><td>передаваемые <br>переменные</td><td> описание </td></tr><tr><td> OnBeforeAddOpenGraph </td><td>&$arSettings - массив настроек<br>&$cache_id - идентификатор кэша</td><td>Событие запускается перед запуском всех алгоритмов</td></tr><tr><td> OnAfterAddOgFields</td><td> &ogValues - массив полей со значениями</td><td>Событие запускается после алгоритма og_fields</td></tr><tr><td> OnAfterAddIBlockFields</td><td>&ogValues - массив полей со значениями</td><td>Событие запускается после алгоритма iblock_fields</td></tr><tr><td> OnAfterAddPropFields</td><td>&ogValues - массив полей со значениями</td><td>Событие запускается после алгоритма prop_fields</td></tr><tr><td> OnAfterAdd</td><td>&ogValues - массив полей со значениями</td><td>Событие запускается после всех алгоритмов</td></tr><tr><td> OnBeforeOutput</td><td>&$arData - массив полей со значениями</td><td>Событие запускается перед выводом свойств (<b>не кэшируется!</b>)</td></tr></table><i><b><br></b></i><br><i><b>Если возникнет сложность в настройке, мы вам поможем!</b></i><br><br>Если есть нарекания или предложения по улучшению модуля пишите на почту техподдержки.<br><br><a href="https://github.com/darkfriend/dev2fun.opengraph" target="_blank"><b>github</b></a><br><a href="http://yasobe.ru/na/thankyou_bitrix" target="_blank">Поблагодарить автора</a><br>
\Bitrix\Main\Loader::includeModule('dev2fun.opengraph');
\Dev2fun\Module\OpenGraph::Show($arResult['ID'],'element');
// где arResult['ID'] - идентификатор элемента
// где element - тип, т.к. мы выводим для элемента, поэтому element</pre></td></tr></table></div><br><b>Как вывести OpenGraph у разделов </b><b>(точная интеграция):</b><br>Вам необходимо прописать в result_modifier.php шаблона используемого компонента следующее:<div class="code"><table class="code"><tr><td><pre>// подгружаем все модуль и все его классы
\Bitrix\Main\Loader::includeModule('dev2fun.opengraph');
\Dev2fun\Module\OpenGraph::Show($arResult['ID'],'section');
// где arResult['ID'] - идентификатор раздела
// где section - тип, т.к. мы выводим для раздела, поэтому section</pre></td></tr></table></div><br><b>И обязательно сбросить кэш.<br></b><br>Поддержка установки Open Graph свойств с помощью SetPageProperty, SetDirProperty оставлена, но с пониженным приоритетом.<br><br><b>Логика</b>: (данные записываются только если значение пусто)<br><ul><li>поиск данных в элементах/разделах<br></li><li>поиск данных в SetPageProperty, SetDirProperty<br></li><li>установка данных из значений по умолчанию<br></li><li>заворачивание данных в мета-теги<br></li><li>вывод мета-тегов<br></li></ul><b>Список событий</b>:<br><i><b><br></b></i><table class="data-table"><tr><td> название события</td><td>передаваемые <br>переменные</td><td> описание </td></tr><tr><td> OnBeforeAddOpenGraph </td><td>&$arSettings - массив настроек<br>&$cache_id - идентификатор кэша</td><td>Событие запускается перед запуском всех алгоритмов</td></tr><tr><td> OnAfterAddOgFields</td><td> &ogValues - массив полей со значениями</td><td>Событие запускается после алгоритма og_fields</td></tr><tr><td> OnAfterAddIBlockFields</td><td>&ogValues - массив полей со значениями</td><td>Событие запускается после алгоритма iblock_fields</td></tr><tr><td> OnAfterAddPropFields</td><td>&ogValues - массив полей со значениями</td><td>Событие запускается после алгоритма prop_fields</td></tr><tr><td> OnAfterAdd</td><td>&ogValues - массив полей со значениями</td><td>Событие запускается после всех алгоритмов</td></tr><tr><td> OnBeforeOutput</td><td>&$arData - массив полей со значениями</td><td>Событие запускается перед выводом свойств (<b>не кэшируется!</b>)</td></tr></table><i><b><br></b></i><br><i><b>Если возникнет сложность в настройке, мы вам поможем!</b></i><br><br>Если есть нарекания или предложения по улучшению модуля пишите на почту техподдержки.<br><br><a href="https://github.com/darkfriend/dev2fun.opengraph" target="_blank"><b>github</b></a><br><a href="http://yasobe.ru/na/thankyou_bitrix" target="_blank">Поблагодарить автора</a><br>