<{strip}> <{assign var="desc" value=$product->getDescription()|strip_tags:true|replace:"\'":"'"|replace:"\r\n":" "|replace:"\n":" "|replace:'"':"'"}> <{assign var="og_desc" value=$meta_description|default:$desc|truncate:200:""}> <{assign var="images" value=$product->getImages()}> <{assign var="og_image" value=$product->getOpenGraphImage()}> <{if $og_image || $images}> <{* Delingsbilledet først: Facebook og LinkedIn bruger det første og:image som standard. Det er altid ét af produktets egne billeder (admin viser en radioknap pr. billede), så det springes over i loopet for at undgå en dublet. $og_image kan ikke genbruges fra meta.html — assign er template-lokal. *}> <{if $og_image}> <{/if}> <{section name="j" loop=$images}> <{if !$og_image || $images[j]->getImageId() != $og_image->getImageId()}> <{/if}> <{/section}> <{/if}> <{if $product->getSalePrice()}> <{/if}> getRealPrice() y=$product->getRealVat()}>" /> <{if $product->getSalePrice()}> <{/if}> <{assign var="supplier" value=$product->getSupplier()}> <{assign var="brand" value=$product->getBrand()}> <{assign var="reviews" value=$product->getProductReviews()}> <{assign var="antalreviews" value=0}> <{assign var="totalscore" value=0}> <{assign var="gennemsnit" value=0}> <{if $reviews}> <{section name="p" loop=$reviews}> <{assign var="review_rating" value=$reviews[p]->getRating()|intval}> <{math assign="totalscore" equation="x+y" x=$totalscore y=$review_rating}> <{/section}> <{assign var="antalreviews" value=$reviews|@count}> <{math assign="gennemsnit" equation="x/y" x=$totalscore y=$antalreviews}> <{/if}> <{assign var="priceValidUntil" value="+1 month"|date_format:"%Y-%m-%d"}> <{* availability skal følge Google Shopping-feedet præcist. Er de uenige, deaktiverer Merchant Center varen med "Mismatched availability (page crawl)", og i søgeresultatet er det siden der vises. getStructuredDataAvailability() genbruger feedets logik, så varer med restordre ikke længere står som udsolgt. Se HeroDesk #5659 / issue #877. *}> <{assign var="availability" value=$product->getStructuredDataAvailability()}> <{assign var="availabilityStarts" value=$product->getStructuredDataAvailabilityStarts()}> <{* Alle strengværdier skal igennem |@json_encode, som selv tilføjer anførselstegnene. escape:javascript laver ' om til \', og det er IKKE en gyldig JSON-escape — Google kasserer hele blokken. Se HeroDesk #5659 / issue #865. *}> <{/strip}>