Jump to content

module header - meta tag


jd440

Recommended Posts

Bonjour à tous.

 

Voilà je souhaite intégrer des meta tag "social" dans mon header.

 

Pour cela j'ai penser à soit les intégrer dans le header.tpl ou créer un modules.

 

Je préférais developpé un module qui forcement pourrais être utilisable sur mes différentes boutiques.

 

J'ai developper déjà un module. mais le souci est que je suis obliger de doubler toute me requete.

 

 

Par exempl sur la fiche produit j'ai:

id_prod = Tools::getValue('id_product');
    $id_prod = $id_product;
    if ($id_prod){
       /* Product informations */
        $product = new Product((int)$id_prod, false, $this->context->language->id);
        $image = Product::getCover((int)$product->id);
        $product_desc = $this->getdesc_cutString($product, 0, 100, '');     

        $id_shop = (int)Context::getContext()->shop->id;
        $compl_loc = 'France';
        $priceDisplayPrecision = 0;
        if ($id_shop ==1)
            {
                $image_a_afficher = "large";    
            } elseif ($id_shop ==2)
            {
                $image_a_afficher = "large_abc";    
            }
             [...]
            }


$metasocial_name = $product->name;
$metasocial_description = $product_desc;
$metasocial_product_cover = (int)$product->id.'-'.(int)$image['id_image'];
$price = $product->getPrice(true, 0, $priceDisplayPrecision);
} elseif
[...]
}
else
{
    return;
}

$smarty->assign(array(
                'metasocial_product' => $product,
                'metasocial_name' => $metasocial_name,
                'metasocial_description' => $metasocial_description,
                'metasocial_product_cover' => $metasocial_product_cover,
                'metasocial_taille_image_cover' => $image_a_afficher,
                'prix' => $price,
                'location' => $compl_loc,
                'domain' => $this->context->shop->domain,
                'twitter'           => $config[0]['twitter'],
                'this_path'     => $this->_path
            ));
        return $this->display(__FILE__, 'metasocial.tpl');

Du coup je me retrouve à "instancier" la classe Product deux fois. une fois dans le module en header et une fois dans la boucle classique.

 

Ce qui fait autant requete, et en performance c'est donc horrible.

 

Alors que si je le met en dur dans le fichier header.tpl.

je peux directement appeler:

<meta name="title" content="{if $product->name}{$product->name|escape:'htmlall':'UTF-8'}{else}{$meta_title|escape:'htmlall':'UTF-8'}{/if}" />

Est il possible de récupére dans le module directement le nom produit, la description du produit...

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...