Если у вас истекла лицензия Битрикса, то можете скачать модуль с 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
Поблагодарить автора
- улучшено сохранение картинки "по умолчанию"
- поправлено несколько не значительных багов
- улучшена производительность
- Добавлена возможность отключать вывод Open Graph полей для разделов/элементов
- Добавлена возможность проброса CACHE_TIME в ключе options
\Dev2fun\Module\OpenGraph::Show( $arResult['ID'], // идентификатор элемента 'element', // тип element или section [ 'options' => [ // точечные настройки 'CACHE_TIME' => 360000 ], 'default' => [ // точечные значения Open Graph полей 'og:title' => 'Кастомный title' ], 'ogOnProperty' => [], // кастомизация значений в алгоритмах (PRO) ] );
- Исправлен баг с кодировкой в названии блок с дополнительными полями
- Улучшена загрузка картинки по умолчанию
- Добавлен функционал поддержки любых кастомных полей OpenGraph (добавляются, как "Дополнительные поля")
- Убрано кеширование при 404 и также убрано кэширование при статусах 4xx/3xx
- Добавлена кнопка сброса кэша полей OpenGraph для всех страниц
- Добавлен функционал постраничного обновления кэша. Работает от администратора при GET clear_cache=Y
- Добавлено свойство позволяющее вкл/выкл автоматическое заполнение полей
- В 3-ий параметр ($params) метода ```OpenGraph::Show($refId, $type = 'element', $params = [])``` добавлен ключ 'default', c помощью которого вы можете передать значения по умолчанию
Огромное спасибо всем за рекомендации и сообщения о проблемах/неудобствах.
- добавлено свойство позволяющее удалять из og:url index.php|index|index.html
- в событие OnBeforeAddOpenGraph добавлен 3-ий параметр &$cachePath
- теперь в og:description очищаются все переходы на новую строку
- исправлен баг с сохранением настройки "Добавить OG в разделах"
- Поправлен баг с выводом ссылки картинки, при использовании CDN
- Добавлена проверка и исправление событий
- Переделана логика установки OpenGraph значений и вывод их
- Исправлен баг в выводе DETAIL_PICTURE или PREVIEW_PICTURE у элементов
- В OpenGraph::Show добавлен 3-ий (необязательный) параметр $params, с поддержкой ключа ogOnProperty
- Добавлено событие OnBeforeAddOpenGraph - параметры &$arSettings, &$cache_id
- Добавлено событие OnAfterAddOgFields - параметр &$ogValues, после og_fields
- Добавлено событие OnAfterAddIBlockFields - параметр &$ogValues, после iblock_fields
- Добавлено событие OnAfterAddPropFields - параметр &$ogValues, после prop_fields
- Добавлено событие OnAfterAddDefault - параметр &$ogValues, после default
- Добавлено событие OnAfterAdd - параметр &$ogValues, после всех
- Добавлено событие OnBeforeOutput - параметр &$arData, перед отправкой на вывод
- Добавлен авторесайз og:image
- Добавлены настройки авторесайза og:image
- Введены 4 основных алгоритма: og_fields, iblock_fields, prop_fields, default
- Добавлена возможность пользовательской сортировки алгоритма, при присваивании значений в OpenGraph(beta)
- Добавлен алгоритм вывода title, pictures, description для iblock элементов/разделов, даже если у этих элементов/разделов не заполнены поля OpenGraph
- Добавлен вывод DETAIL_PICTURE для разделов
- Теперь ключ кэша всегда равен странице вывода
- Добавлен вывод таба с OpenGraph полями в элементах ИБ
- Добавлен вывод таба с OpenGraph полями в разделах ИБ
- Добавлены новые настройки
- Добавлена загрузка картинки для OpenGraph, по умолчанию
- Добавлен метод `\Dev2fun\Module\OpenGraph::Show($refId,$type);`
- Переписан инсталлятор и деинсталлер
- Закончена поддержка версий php младше 5.4
- Улучшено кэширование
- Добавлено несколько значительных нюансов, читайте их на странице модуля в макркетплейсе
- улучшена поддержка url сервера
- обнаружен и исправлен баг с og:image
- исправлен баг с og:image:type
- исправлен баг http/https у og:image:type
- исправлен баг с og:image:width
- исправлен баг с og:image:height
- исправлен баг в админке с name
- Добавлена поддержка https у og:url и og:image
- Исправлен баг с og:description. Теперь og:description, по умолчанию равен $APPLICATION->GetProperty('description')
- У og:image добавлена поддержка пути от корня сайта
- Поправлен баг у og:image:height
- Админка: добавлен функционал настроек
- Админка: Добавлена настройка времени жизни кэша
- Проверить права у папки modules
- Установить модуль в административной панели.
- Прочитать сообщение
- Настроить модуль
- Сбросить кэш
- Поблагодарить автора

- Использовать.
| Коллеги, в связи с продолжающимся кризисом с 23 апреля 2020 года для всех бесплатных модулей, бесплатная техническая поддержка упразднена. Вам нужно понимать, что каждое ваше обращение занимает время специалиста. Просим проявить понимание и не нагружать службу просто так. На многие ваши вопросы может ответить любой другой специалист по битриксу. |
Техническая поддержка осуществляется сообществом пользователей бесплатных модулей.
Автор может вам ответить по след. контактам.
Контакты: support@dev2fun.com или https://t.me/dev2fun_support
Сроки на ответ отсутствуют.
Правила для письма:
- В теме письма необходимо указать ID модуля
- В теле письма необходимо указать суть проблемы и описать ваши действия, которые к ней привели.
- Приложить скриншоты.
- Прислать доступы до админки и фтп (желательно)
Для покупки товара в нашем интернет-магазине выберите понравившийся товар и добавьте его в корзину. Далее перейдите в Корзину и нажмите на «Оформить заказ» или «Быстрый заказ».
Если оформляете быстрый заказ: напишите ФИО, телефон и e-mail. Вам перезвонит менеджер и уточнит условия заказа. По результатам разговора вам придет подтверждение оформления товара на почту или через СМС. Теперь останется только ждать доставки и радоваться новой покупке.
Оформление заказа в стандартном режиме выглядит следующим образом. Заполняете полностью форму по последовательным этапам: адрес, способ доставки, оплаты, данные о себе. Советуем в комментарии к заказу написать информацию, которая поможет курьеру вас найти. Нажмите кнопку «Оформить заказ».
Оплачивайте покупки удобным способом. В интернет-магазине доступно 3 варианта оплаты:
- Наличные при самовывозе или доставке курьером. Специалист свяжется с вами в день доставки, чтобы уточнить время и заранее подготовить сдачу с любой купюры. Вы подписываете товаросопроводительные документы, вносите денежные средства, получаете товар и чек.
- Безналичный расчет при самовывозе или оформлении в интернет-магазине: карты МИР. Чтобы оплатить покупку на сайте, система перенаправит вас на сервер платежной системы. Здесь нужно ввести номер карты, срок действия и имя держателя.
- Электронные системы при онлайн-заказе: ЮMoney. Для совершения покупки система перенаправит вас на страницу платежного сервиса. Здесь необходимо заполнить форму по инструкции.
- Безналичная оплата на наш расчетный счет по выставленному счету.
Экономьте время на получении заказа. В интернет-магазине доступно 4 варианта доставки:
- Электронная поставка - все необходимые сведения о лицензии, праве пользования, кодах, ключах и др. высылаются покупателю на его e-mail.
- Курьерская доставка. Когда товар будет отправлен с нашего склада, Вам придет уведомление. В день доставки с Вами заблаговременно свяжется курьер для уточнения времени и деталей доставки. Доставка производится "до двери". Осмотрите упаковку на целостность и соответствие указанной комплектации.
- Постамат. Когда заказ поступит на точку, на Ваш телефон или e-mail придет уникальный код. Заказ нужно оплатить в терминале постамата. Срок хранения — 3 дня.
- Доставка Почтой России. Когда заказ придет в отделение, на Ваш адрес придет извещение о посылке. Перед оплатой Вы можете оценить состояние коробки: вес, целостность. Вскрывать коробку самостоятельно Вы можете только после оплаты заказа. Один заказ может содержать не больше 10 позиций и его стоимость не должна превышать 100 000 р.
Дополнительная информация.
Изучите полный алгоритм продления лицензий на модули 1С-Битрикс: Маркетплейс, включая активацию льготных купонов. Мы детально разбираем все условия: обязательный 30-дневный срок для сохранения максимальной выгоды, пропорциональное ценообразование (12,5%, 25%, 50% от цены модуля) и ограничение по минимальной сумме в 500 рублей. Этот гайд поможет вам эффективно планировать бюджет и гарантировать актуальность вашего проекта.
