cyfou Posted February 26, 2011 Share Posted February 26, 2011 Bonjour,Je souhaite ajouter en automatique la catégorie par défaut dans la balise TITLE derrière le nom de l'article. Ceci lors de l'affichage.ex : nomduproduit - nomcategoriepardefaut - nomboutiqueJe pense qu'il faut modifier la fonction completeMetaTags de /classes/tools.php J'ai apporté les modifs suivantes : $result = Db::getInstance()->getRow(' SELECT `id_category_default ` FROM `'._DB_PREFIX_.'product ` WHERE id_product = '.intval(id_product)); $idcat = $result['id_category_default']; $result = Db::getInstance()->getRow(' SELECT `name` FROM `'._DB_PREFIX_.'category_lang ` WHERE id_lang = '.intval($cookie->id_lang).' and id_category = '.intval($idcat)); $cat = $result['name']; if ($metaTags['meta_title'] == NULL) $metaTags['meta_title'] = $defaultValue.' - '.$cat.' - '.Configuration::get('PS_SHOP_NAME'); Le problème est que ma variable id_product est vide !!!comment puis-je la récupérer ?Merci d'avance pour vos conseils Link to comment Share on other sites More sharing options...
DevNet Posted February 26, 2011 Share Posted February 26, 2011 Bonsoir,Le code que vous donnez ne fait pas partie de la méthode que vous avez spécifié : completeMetaTags()En revanche, le code que vous donnez fait partie de la fonction getMetaTags(), qui pose des conditions en fonction des pages courantes. Exemple sur la condition de la page product.php avec l'id_product : /* Products specifics meta tags */ if ($id_product = self::getValue('id_product')) Il faut que vous repreniez l'algo de ces deux méthodes pour mieux comprendre comment réintégrer ce que vous voulez.Bien cordialement Link to comment Share on other sites More sharing options...
Broceliande Posted February 26, 2011 Share Posted February 26, 2011 Le problème est que ma variable id_product est vide !!!comment puis-je la récupérer ? Dans les pages produit, elle n'est jamais loin :$id_product = intval(Tools::getValue('id_product')) C'est général, peut être que dans le contexte , if ($id_product = self::getValue('id_product')) donné par DevNet est plus approprié Link to comment Share on other sites More sharing options...
cyfou Posted February 27, 2011 Author Share Posted February 27, 2011 J'ai effectivement résolu mon pb en me focalisant sur getMetaTags.Ci-après le code (si ça peut servir ) : /* Products specifics meta tags */ if ($id_product = Tools::getValue('id_product')) { // ******* MAJ CYFOU - affichage TITLE : nomarticle - catégoriedefault $result = Db::getInstance()->getRow(' SELECT `id_category_default` FROM `'._DB_PREFIX_.'product` WHERE id_product = '.intval($id_product)); $idcat = $result['id_category_default']; $result = Db::getInstance()->getRow(' SELECT `name` FROM `'._DB_PREFIX_.'category_lang` WHERE id_lang = '.intval($id_lang).' AND id_category = '.intval($idcat)); $cat = $result['name']; $row = Db::getInstance()->getRow(' SELECT `name`, `meta_title`, `meta_description`, `meta_keywords`, `description_short` FROM `'._DB_PREFIX_.'product_lang` WHERE id_lang = '.intval($id_lang).' AND id_product = '.intval($id_product)); if ($row) { if (empty($row['meta_description'])) $row['meta_description'] = strip_tags($row['description_short']); $lib = $row['name'].' - '.$cat; return self::completeMetaTags($row, $lib); // return self::completeMetaTags($row, $row['name']); } } Merci à Devnet et Broceliande pour vos conseils ! Link to comment Share on other sites More sharing options...
pistachos Posted February 2, 2012 Share Posted February 2, 2012 bien joué ! merci beaucoup. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now