Jump to content
Sign in to follow this  
cyfou

[Résolu] Comment ajouter la categorie dans le title ?

Recommended Posts

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 - nomboutique

Je 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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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é

Share this post


Link to post
Share on other sites

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 !

Share this post


Link to post
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
Sign in to follow this  

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More