Come dinamico generare protocollo Open Graph meta tag
-
22-10-2019 - |
Domanda
<meta property="og:url" content="<?php echo "http://". $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];?>"/>
<meta property="og:description" content=""/>
<meta property="og:title" content=""/>
<meta property="og:image" content=""/>
Ho provato con il file head.phtml
, ma non so come ottenere attributi di prodotto tali come sku
, color
e images
.
ho provato con $this->helper('catalog/image')->init($_product, 'image')
trovato in
media.phtml
su meta tag e ottenere una pagina vuota, ma le immagini in mostra prodotti stanno lavorando bene.
che confonde me un sacco.
Soluzione
È necessario può aggiungere questo per uno dei file di layout:
<catalog_product_view>
<reference name="head">
<block type="core/template" name="open-graph" as="open-graph" template="opengraph/product.phtml" />
</reference>
</catalog_product_view>
Ora è necessario creare il file opengraph/product.phtml
dentro di te tema (app/design/frontend/{package}/{theme}/template/
) con il seguente contenuto:
<?php $_product = Mage::registry('current_product'); ?>
<?php if ($_product) : ?>
<meta property="og:url" content="<?php echo "http://". $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];?>"/>
<meta property="og:description" content="<?php echo htmlspecialchars($_product->getDescription())?>"/>
<meta property="og:title" content="<?php echo htmlspecialchars($_product->getName())?>"/>
<meta property="og:image" content="<?php echo $this->helper('catalog/image')->init($_product, 'image')?>"/>
<?php endif;?>
Se è necessario includere il sku
o color
in là si possono ottenere in questo modo:
$sku = $_product->getSku();
$color = $_product->getAttributeText('color');
Svuota cache quando si è fatto.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange