Schema.org карточки товара в Bitrix


Небольшая статья о том, как легко и быстро настроить Schema.org разметку карточки товара на CMS Bitrix.

В файле карточки товара компонента каталога вашей темы /bitrix/templates/ваша_тема/components/bitrix/catalog/.default/bitrix/catalog.element/.default/template.php необходимо сначало до удаления переменной минимальной цены unset($minPrice); добавить её в свою переменную $temppriceforyand=$minPrice[‘PRINT_DISCOUNT_VALUE’];.

Осталось в самом конце шаблона добавить код семантической разметки товара.

<div itemscope itemtype="http://schema.org/Product" style="display: none!important;"> <!-- Принудительно скрываем блок -->
  	<meta itemprop="name" content='<? echo (
			isset($arResult["IPROPERTY_VALUES"]["ELEMENT_PAGE_TITLE"]) && $arResult["IPROPERTY_VALUES"]["ELEMENT_PAGE_TITLE"] != ''
			? $arResult["IPROPERTY_VALUES"]["ELEMENT_PAGE_TITLE"]
			: $arResult["NAME"]
		); ?>' /> <!-- Название товара -->
	<link itemprop="image" href="<? echo $arFirstPhoto['SRC']; ?>"> <!-- Ссылка на картинку товара -->
  
  	<div itemprop="offers" itemscope itemtype="http://schema.org/Offer" style="display: none!important;">
    	<meta itemprop="price" content="<? echo str_preg_replace('/[^0-9]/', '', $temppriceforyand); ?>"> <!-- Цена товара -->
    	<meta itemprop="priceCurrency" content="RUB"> <!-- Валюта -->
    	<?
    		if ($ar_res['QUANTITY']>0){ /* Если количество товара больше ноля, то проставляется тег доступности товара, если нет, то недоступен */
				echo "<link itemprop='availability' href='http://schema.org/InStock'>";
			} else {
				echo "<link itemprop='availability' href='http://schema.org/OutOfStock'>";
			}
    	?>
    	
  	</div>
  	<meta itemprop="description" content="<?=strip_tags($arResult['DETAIL_TEXT'])?>" /> <!-- Описание товара -->
</div>

Вот и всё. Осталось только проверить, всё ли правильно по средству валидатора.


Для связи

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

Или написать прямо на почту info@bobreod.ru





Отправляя форму, вы соглашаетесь с нашей политикой конфиденциальности