Avrel Posted July 24, 2012 Share Posted July 24, 2012 (edited) Bonjour, je souhaiterais savoir si quelqu'un saurait ou se trouve la génération de la balise meta_title pour les pages manufacturer ? Je m'explique, lorsque je tente d'optimiser ma balise meta, prestashop me rajoute constamment à la fin le nom de la marque suivi du nom de la boutique. Exemple : Malabar - Acheter pleins de malabars sur mon site. Me donne : Malabar - Acheter pleins de malabar sur mon siteMalabar - Le comptoir du Bonbon Version de Prestashop : 1.4.8.2 Je précise que j'ai mis ce texte a titre d'exemple et que je suis tout a fait au courant que ce n'est pas optimisé du tout. Je vous remercie d'avance pour votre aide. [RESOLU] Edited August 27, 2012 by Avrel (see edit history) Link to comment Share on other sites More sharing options...
jeckyl Posted July 27, 2012 Share Posted July 27, 2012 Bonjour, Vous indiquez Résolu en fin de message, déjà la réglevest de l'afficher dans le titre du topic et ensuite merci d'expliquer votre solution pour les autre membres de la communauté concernés par le même soucis. Link to comment Share on other sites More sharing options...
jujutte24 Posted August 25, 2012 Share Posted August 25, 2012 Salut, je serai intéressé aussi... si tu peux exposer la solution.. merci ! Link to comment Share on other sites More sharing options...
Avrel Posted August 27, 2012 Author Share Posted August 27, 2012 Bonjour, Pour le résolu, j'ai pas réussi a changé le titre du topic donc c'est pour ca que je l'ai mis en bas. Pour la solution il suffit d'overrider la methode getMetaTags de la classe Tools en créant un fichier Tools.php dans le dossier override/classes. <?php class Tools extends ToolsCore { public static function getMetaTags($id_lang, $page_name, $title = '') { global $maintenance; if (!(isset($maintenance) AND (!in_array(self::getRemoteAddr(), explode(',', Configuration::get('PS_MAINTENANCE_IP')))))) { /* Products specifics meta tags */ if ($id_product = self::getValue('id_product')) { $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow(' SELECT `name`, `meta_title`, `meta_description`, `meta_keywords`, `description_short` FROM `'._DB_PREFIX_.'product` p LEFT JOIN `'._DB_PREFIX_.'product_lang` pl ON (pl.`id_product` = p.`id_product`) WHERE pl.id_lang = '.(int)($id_lang).' AND pl.id_product = '.(int)($id_product).' AND p.active = 1'); if ($row) { if (empty($row['meta_description'])) $row['meta_description'] = strip_tags($row['description_short']); return self::completeMetaTags($row, $row['name']); } } /* Categories specifics meta tags */ elseif ($id_category = self::getValue('id_category')) { if (!empty($title)) $title = ' - '.$title; $page_number = (int)self::getValue('p'); $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow(' SELECT `name`, `meta_title`, `meta_description`, `meta_keywords`, `description` FROM `'._DB_PREFIX_.'category_lang` WHERE id_lang = '.(int)($id_lang).' AND id_category = '.(int)($id_category)); if ($row) { if (empty($row['meta_description'])) $row['meta_description'] = strip_tags($row['description']); // Paginate title if (!empty($row['meta_title'])) $row['meta_title'] = $title.$row['meta_title'].(!empty($page_number) ? ' ('.$page_number.')' : '').' - '.Configuration::get('PS_SHOP_NAME'); else $row['meta_title'] = $row['name'].(!empty($page_number) ? ' ('.$page_number.')' : '').' - '.Configuration::get('PS_SHOP_NAME'); if (!empty($title)) $row['meta_title'] = $title.(!empty($page_number) ? ' ('.$page_number.')' : '').' - '.Configuration::get('PS_SHOP_NAME'); return self::completeMetaTags($row, $row['name']); } } /* Manufacturers specifics meta tags */ elseif ($id_manufacturer = self::getValue('id_manufacturer')) { $page_number = (int)self::getValue('p'); $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow(' SELECT `name`, `meta_title`, `meta_description`, `meta_keywords` FROM `'._DB_PREFIX_.'manufacturer_lang` ml LEFT JOIN `'._DB_PREFIX_.'manufacturer` m ON (ml.`id_manufacturer` = m.`id_manufacturer`) WHERE ml.id_lang = '.(int)($id_lang).' AND ml.id_manufacturer = '.(int)($id_manufacturer)); if ($row) { if (empty($row['meta_description'])) $row['meta_description'] = strip_tags($row['meta_description']); $row['meta_title'] .= (!empty($page_number) ? ' ('.$page_number.')' : ''); $row['meta_title'] .= ' - '.Configuration::get('PS_SHOP_NAME'); return self::completeMetaTags($row, $row['meta_title']); } } /* Suppliers specifics meta tags */ elseif ($id_supplier = self::getValue('id_supplier')) { $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow(' SELECT `name`, `meta_title`, `meta_description`, `meta_keywords` FROM `'._DB_PREFIX_.'supplier_lang` sl LEFT JOIN `'._DB_PREFIX_.'supplier` s ON (sl.`id_supplier` = s.`id_supplier`) WHERE sl.id_lang = '.(int)($id_lang).' AND sl.id_supplier = '.(int)($id_supplier)); if ($row) { if (empty($row['meta_description'])) $row['meta_description'] = strip_tags($row['meta_description']); if (!empty($row['meta_title'])) $row['meta_title'] = $row['meta_title'].' - '.Configuration::get('PS_SHOP_NAME'); return self::completeMetaTags($row, $row['name']); } } /* CMS specifics meta tags */ elseif ($id_cms = self::getValue('id_cms')) { $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow(' SELECT `meta_title`, `meta_description`, `meta_keywords` FROM `'._DB_PREFIX_.'cms_lang` WHERE id_lang = '.(int)($id_lang).' AND id_cms = '.(int)($id_cms)); if ($row) { $row['meta_title'] = $row['meta_title'].' - '.Configuration::get('PS_SHOP_NAME'); return self::completeMetaTags($row, $row['meta_title']); } } /* CMS category specifics meta tags */ elseif ($id_cms = self::getValue('id_cms_category')) { $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow(' SELECT `meta_title`, `meta_description`, `meta_keywords` FROM `'._DB_PREFIX_.'cms_category_lang` WHERE id_lang = '.(int)($id_lang).' AND id_cms_category = '.(int)($id_cms)); if ($row) { $row['meta_title'] = $row['meta_title'].' - '.Configuration::get('PS_SHOP_NAME'); return self::completeMetaTags($row, $row['meta_title']); } } } /* Default meta tags */ return self::getHomeMetaTags($id_lang, $page_name); } } ?> On peut a peu près modifier le comportement de toutes les pages par ici. Link to comment Share on other sites More sharing options...
Patric Posted August 27, 2012 Share Posted August 27, 2012 Bonjour, Pour le résolu, j'ai pas réussi a changé le titre du topic donc c'est pour ca que je l'ai mis en bas. C'est donc que tu n'as pas pris le temps de lire les règles du forum, ce qui est généralement plus que conseillé pour le bien-être de tous. C'est expliqué ici comment faire. Merci pour la solution. Ca aussi c'est un bon réflexe à avoir pour les générations futures. 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