Jump to content

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


cyfou

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

Link to comment
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

Link to comment
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é

Link to comment
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 !

Link to comment
Share on other sites

  • 11 months later...

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