Россия

region-img
+7 (495) 278-08-54
  • +7 (812) 670-07-40
Документация

Сотбит: Микроразметка Schema.org - Установка обработчика

Установка обработчика

Для автоматической генерации нужно вставить код в файл, который срабатывает на нужных страницах. Для разных сущностей вставляется разный код.
Модуль построен таким образом, что без обработчика не генерируется json+ld. И не важно собирает он информацию по странице или нет.

Рассмотрим добавление обработчика данных на примере шаблона «1С-Битрикс: Управление сайтом».

В примере ниже применяется обработчик для сбора данных о хлебных крошках на текущей странице. В этом случае в настройках модуля потребуется только указать обязательное поле названия и маску URL.

Если же Вы захотите формировать хлебные крошки вручную, то в этом случае обработчик все равно нужен, но он не будет собирать информацию по странице в автоматическом режиме.

Добавление кода обработчика «BreadcrumbList»

Обработчик «BreadcrumbList», как правило, размещают на все страницы сайта. Для этого не нужно вручную добавлять его в файлы каждой страницы, нужно разместить его в файл, который автоматически отрабатывается на всех страницах сайта. Рекомендуем Вам разместить код в подвал сайта.

Чтобы это сделать нужно:

  1. Открыть файл генерирующий подвал сайта. Для «1С-Битрикс: Управление сайтом» это [Файлы и папки//bitrix/templates/eshop_bootstrap_green/footer.php]
  2. Нажать правой кнопкой мыши на файл и выбрать пункт меню «Редактировать как РНР».
  3. Вставить код обработки данных «BreadcrumbList» перед закрывающим тегом </body>.

<?
if( BitrixMainLoader::includeModule('sotbit.schemaorg') && (strpos($APPLICATION->GetCurPage(), "bitrix") === false) ) 
{
	SotbitSchemaorgEventHandlers::makeContent($APPLICATION->GetCurPage(false), 'breadcrumblist');
	$data = SchemaMain::getData();
	if($data)
	{
		foreach ($data as $k => &$dat)
		{
			if ($dat['@type'] == 'breadcrumblist')
			{
				$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
				if(!empty($APPLICATION->arAdditionalChain))
				{
					$arChain = $APPLICATION->arAdditionalChain;
					foreach ($arChain as $key => $item)
					{
						unlink($dat['itemListElement'][$key]);
						$dat['itemListElement'][$key]['@type'] = "ListItems";
						$dat['itemListElement'][$key]['name'] = $item['TITLE'];
						$dat['itemListElement'][$key]['item'] = $protocol . $_SERVER['SERVER_NAME'] . $item['LINK'];
						$dat['itemListElement'][$key]['position'] = $key + 1;
					}
				}                
			SchemaMain::setData($data);
			}
		}
	}
}
?>

Добавление кода обработчика «Product»

Обработчик «Product», как правило, размещают на детальных страницах товаров. Рекомендуем Вам разместить код в компонент генерирующий детальные страницы товаров. Чтобы это сделать нужно:

  1. Перейти к эпилогу шаблона компонента детальной страницы товара. Для интернет-магазина это путь [Файлы и папки//bitrix/components/bitrix/catalog.element/templates/.default/component_epilog.php]
  2. Нажать правой кнопкой мыши на файл и выбрать пункт меню «Редактировать как РНР».
  3. Вставить код обработки данных микро-разметки типа «Product» перед закрывающим тегом </body>.
<?
if( BitrixMainLoader::includeModule('sotbit.schemaorg') && strpos($APPLICATION->GetCurPage(), "bitrix") === false ) {
   SotbitSchemaorgEventHandlers::makeContent($APPLICATION->GetCurPage(false), 'Product');
   $data = SchemaMain::getData();
   SchemaMain::setData($data);
}
?>

Добавление кода обработчика «LocalBusiness»

Обработчик «LocalBusiness», как правило, размещают на всех страницах сайта. Рекомендуем Вам разместить код в подвал сайта как в примере обработчика «BreadCrumbs». Чтобы это сделать нужно:

  1. Открыть файл генерирующий подвал сайта. Для «1С-Битрикс: Управление сайтом» это путь [Файлы и папки/bitrix/templates/ eshop_bootstrap_green/footer.php]
  2. Нажать правой кнопкой мыши на файл и выбрать пункт меню «Редактировать как РНР».
  3. Вставить код обработки данных «LocalBusiness» перед закрывающим тегом </body>.
<?
if( \Bitrix\Main\Loader::includeModule('sotbit.schemaorg') && (strpos($APPLICATION->GetCurPage(), "bitrix") === false) ) {
   Sotbit\Schemaorg\EventHandlers::makeContent($APPLICATION->GetCurPage(false), 'localbusiness');
 
   $data = SchemaMain::getData();
SchemaMain::setData($data);
}
?>

Нужна помощь в настройке решения

Оставьте заявку и мы свяжемся с вами!