Микроразметка раздела товаров

789
Алексей,

Вывод данных по schema.org/Product, без доп. запросов.

Вывод данных по schema.org/Product, без доп. запросов.

Название, описание и изображение будем брать из данных раздела ($arResult). Данные о цене возьмём из умного фильтра через глобальную переменную (так себе вариант, зато не нужно лишний раз лезть в БД). А данные о количестве товаров возьмём из пагинации.

Начнём с умного фильтра, в component_epilog.php закидываем данные в глоб. переменную:

global $arFilterPriceData;
$arPrice = current($arResult["PRICES"]);
$arFilterPriceData = $arResult["ITEMS"][$arPrice["CODE"]];

Далее в компоненте раздела товаров, в result_modifier.php добавляем данные из нав. цепочки:

$cp = $this->__component; // объект компонента
if (is_object($cp)) {
	$arResult['CNT-ITEMS'] = $arResult["NAV_RESULT"]->NavRecordCount, // кол-вот товаров
	$cp->SetResultCacheKeys(array('CNT-ITEMS', 'PICTURE'));
}

И в файле component_epilog.php выводим в нужном виде.

<?global $arFilterPriceData;?>
<script type="application/ld+json">
	{
		"@context": "https://schema.org/",
		"@type": "Product",
		"name": "<?=$arResult["IPROPERTY_VALUES"]["SECTION_PAGE_TITLE"] ?: $arResult['NAME'];?>",
		"description": "<?=$arResult["IPROPERTY_VALUES"]["SECTION_META_DESCRIPTION"] ?: $APPLICATION->GetPageProperty('description')?>",
		"image": "https://<?=SITE_SERVER_NAME ?: $_SERVER['SERVER_NAME']?><?=$arResult['PICTURE']['SRC']?>",
		"offers": {
			"@type": "AggregateOffer",
			"priceCurrency": "<?=$arFilterPriceData['VALUES']["MIN"]["CURRENCY"]?>",
			"lowPrice": "<?=$arFilterPriceData['VALUES']["MIN"]["VALUE"]?>",
			"highPrice": "<?=$arFilterPriceData['VALUES']["MAX"]["VALUE"]?>",
			"offerCount": "<?=$arResult['CNT-ITEMS']?>"
		}
	}
</script>

И проверяем валидатором, например от яндекса

Микроразметка раздела товаров

Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.

Опубликовано 17 октября 2022
микроразметка, готовый код, разработчику
Поделиться
Похожие статьи
Предыдущий, следующий товар
Пример запроса "соседних" товаров через параметр nElementID
Читать дальше » 0
Алексей,
Конвертация картинок в webp на битриксе
Картинки в формате WebP "весят" значительно меньше, а сам формат уже поддерживается многим...
Читать дальше » 0
Алексей,
Комментарии
❮…❯
Авторизуйтесь чтобы получать уведомления об ответе
Вывод данных по schema.org/Product, без доп. запросов.