Найти в Дзене

Микроразметка ld+json для Shop-Script

Данный код в формате Javascript+JSON позволит добавить и поддерживать микроразметку на страницу товара для движка интернет-магазина Shop-Script.

Скопируйте данный код в самый конец файла product.html

{foreach $product.skus as $min}
{$minmax[] = $min.price}
{/foreach}

{$reviews_count = count($reviews)}

<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "{$product.name|escape}",
"image": "{$img}",
"description": "{$product.summary|escape}",
{if $sku.sku}
"sku": "{$sku.sku|escape}",
{/if}

{if $product.sku_type}
{$default_sku_features = $product.sku_features}
{$product_available = $product.status}
"offers": {
"@type": "AggregateOffer",
"priceCurrency": "{$product.currency}",
"offerCount": "{count($product.skus)}",
"lowPrice": "{min($minmax)}",
"highPrice": "{max($minmax)}",
"offers": [
{foreach $product.skus as $sku}
{
"@type": "Offer",
"url": "{$wa->currentUrl(true, true)}?sku={$sku.id}",
"priceCurrency": "{$product.currency}",
"price": "{$sku.price}",
"priceValidUntil": "2030-06-08",
{$sku_available = $product.status && $sku.available && ($wa->shop->settings('ignore_stock_count') || $sku.count === null || $sku.count > 0)}
{if $sku.name}
"name": "{$sku.name|escape}",
{/if}
"sku": "{$sku.id}",
{if (!($sku.count === null) && $sku.count <= 0)}
"availability": "https://schema.org/OutOfStock",
{else}
"availability": "https://schema.org/InStock",
{/if}
"itemCondition": "https://schema.org/NewCondition"
}{if !$sku@last},{/if}
{/foreach}
]}{if $reviews_count > 0},{/if}
{else}

{$product_available = false}

{if count($product.skus) > 1}
"offers": {
"@type": "AggregateOffer",
"priceCurrency": "{$product.currency}",
"offerCount": "{count($product.skus)}",
"lowPrice": "{min($minmax)}",
"highPrice": "{max($minmax)}",
"offers": [
{foreach $product.skus as $sku}
{$sku_available = $product.status && $sku.available && ($wa->shop->settings('ignore_stock_count') || $sku.count === null || $sku.count > 0)}
{
"@type": "Offer",
"url": "{$wa->currentUrl(true, true)}?sku={$sku.id}",
"priceValidUntil": "2030-06-08",
{$sku_available = $product.status && $sku.available && ($wa->shop->settings('ignore_stock_count') || $sku.count === null || $sku.count > 0)}
"sku": "{$sku.id}",
{if $sku.name}
"name": "{$sku.name|escape}",
{/if}
"price": "{$sku.price}",
{if (!($sku.count === null) && $sku.count <= 0)}
"availability": "https://schema.org/OutOfStock",
{else}
"availability": "https://schema.org/InStock",
{/if}
"itemCondition": "https://schema.org/NewCondition"
}{if !$sku@last},{/if}
{$product_available = $product_available or $sku_available}
{/foreach}
]}{if $reviews_count > 0},{/if}
{else}

"offers": {
"@type": "Offer",
"url": "{$wa->currentUrl(true, true)}",
"priceValidUntil": "2030-06-08",
{$sku = $product.skus[$product.sku_id]}
{if $sku.name}
"name": "{$sku.name|escape}",
{/if}
"price": "{$sku.price}",
"priceCurrency": "{$product.currency}",
{if !$sku.available}
"availability": "https://schema.org/Discontinued",
{elseif !$wa->shop->settings('ignore_stock_count') && !($sku.count === null || $sku.count > 0)}
"availability": "https://schema.org/OutOfStock",
{else}
"availability": "https://schema.org/InStock",
{/if}
"itemCondition": "https://schema.org/NewCondition"
}{if $reviews_count > 0},{/if}
{/if}
{/if}
{if $reviews_count > 0}
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "{$product.rating|round:1}",
"bestRating": "5",
"worstRating": "0",
"ratingCount": "{$reviews_count}"
}
{/if}
}
</script>