yan.k Posted November 30, 2010 Share Posted November 30, 2010 Bonsoir,Comment faire pour supprimer le nom du site par défaut de la balise "title" de prestashop ?En fait je préfère la gérer moi même, par exemple dans le fichier header.tpl j'ai mis ceci : <title>{$meta_title|escape:'htmlall':'UTF-8'} - Titre de mon site</title> Grâce à ça, le nom de mon site s'affiche sur toutes les pages, précédé par le nom des produits et des titres de pages.Ce qui n'est pas le cas par défaut.Le problème est que sur ma page d'accueil, les pages CMS et les pages produits (product.tpl) je me retrouve avec :Nom du produit - Titre de mon site - Nom de mon siteCe qui fait un doublon inutile.Il me semble qu'il s'agit du nom rentré lors de l'installation de presta, mais je ne trouve pas le fichier concerné pour le supprimer.Merci de votre aide. Link to comment Share on other sites More sharing options...
DevNet Posted November 30, 2010 Share Posted November 30, 2010 Bonjour,Attention cette action modifiera le cœur de PestaShop.Dans la classe classes/Tools.php, les méthodes suivantes peuvent vous être modifiée, notamment le PS_SHOP_NAME : /** * Get meta tags for a given page * * @param integer $id_lang Language id * @return array Meta tags */ static public function getHomeMetaTags($id_lang) { global $cookie, $page_name; /* Metas-tags */ $metas = Meta::getMetaByPage($page_name, $id_lang); $ret['meta_title'] = (isset($metas['title']) AND $metas['title']) ? $metas['title'].' - '.Configuration::get('PS_SHOP_NAME') : Configuration::get('PS_SHOP_NAME'); $ret['meta_description'] = (isset($metas['description']) AND $metas['description']) ? $metas['description'] : ''; $ret['meta_keywords'] = (isset($metas['keywords']) AND $metas['keywords']) ? $metas['keywords'] : ''; return $ret; } static public function completeMetaTags($metaTags, $defaultValue) { global $cookie; if ($metaTags['meta_title'] == NULL) $metaTags['meta_title'] = $defaultValue.' - '.Configuration::get('PS_SHOP_NAME'); if ($metaTags['meta_description'] == NULL) $metaTags['meta_description'] = Configuration::get('PS_META_DESCRIPTION', intval($cookie->id_lang)) ? Configuration::get('PS_META_DESCRIPTION', intval($cookie->id_lang)) : ''; if ($metaTags['meta_keywords'] == NULL) $metaTags['meta_keywords'] = Configuration::get('PS_META_KEYWORDS', intval($cookie->id_lang)) ? Configuration::get('PS_META_KEYWORDS', intval($cookie->id_lang)) : ''; return $metaTags; } Bien cordialement Link to comment Share on other sites More sharing options...
yan.k Posted December 1, 2010 Author Share Posted December 1, 2010 Nickel merci bien !SOLUTIONRemplacer cette ligne : $ret['meta_title'] = (isset($metas['title']) AND $metas['title']) ? $metas['title'].' - '.Configuration::get('PS_SHOP_NAME') : Configuration::get('PS_SHOP_NAME'); par $ret['meta_title'] = (isset($metas['title']) AND $metas['title']) ? $metas['title'] : Configuration::get('PS_SHOP_NAME'); et $metaTags['meta_title'] = $defaultValue.' - '.Configuration::get('PS_SHOP_NAME'); par $metaTags['meta_title'] = $defaultValue; Link to comment Share on other sites More sharing options...
yan.k Posted December 1, 2010 Author Share Posted December 1, 2010 Par contre étrangement le nom du site persiste sur les pages CMS du site...Un autre fichier à modifier ? Link to comment Share on other sites More sharing options...
DevNet Posted December 1, 2010 Share Posted December 1, 2010 Par contre étrangement le nom du site persiste sur les pages CMS du site...Un autre fichier à modifier ? Bonjour,Toujours dans la même classe Tools.php, à la méthode static public function getMetaTags($id_lang) : /* CMS specifics meta tags */ elseif ($id_cms = self::getValue('id_cms')) { $row = Db::getInstance()->getRow(' SELECT `meta_title`, `meta_description`, `meta_keywords` FROM `'._DB_PREFIX_.'cms_lang` WHERE id_lang = '.intval($id_lang).' AND id_cms = '.intval($id_cms)); if ($row) { $row['meta_title'] = $row['meta_title'].' - '.Configuration::get('PS_SHOP_NAME'); return self::completeMetaTags($row, $row['meta_title']); } } Bonne continuation Link to comment Share on other sites More sharing options...
yan.k Posted December 1, 2010 Author Share Posted December 1, 2010 Toujours dans la même classe Tools.php, à la méthode static public function getMetaTags($id_lang) Merveilleux Link to comment Share on other sites More sharing options...
marty69 Posted December 2, 2010 Share Posted December 2, 2010 Bonjour,Dans le même esprit, comment rajouter dans le titre le nom de la catégorie en cours ?je vois bien le concept, mais quelle est la variable qui récupère cette donnée (la catégorie) ? Link to comment Share on other sites More sharing options...
DevNet Posted December 2, 2010 Share Posted December 2, 2010 Bonjour,Dans le même esprit, comment rajouter dans le titre le nom de la catégorie en cours ?je vois bien le concept, mais quelle est la variable qui récupère cette donnée (la catégorie) ? Bonjour,Lorsque vous naviguez dans une catégorie, c'est déjà le cas. La balise title reprend le nom de la catégorie grâce à $row['name'] : (toujours dans Tools.php, dans la méthode static public function getMetaTags($id_lang)) /* Categories specifics meta tags */ elseif ($id_category = self::getValue('id_category')) { $row = Db::getInstance()->getRow(' SELECT `name`, `meta_title`, `meta_description`, `meta_keywords`, `description` FROM `'._DB_PREFIX_.'category_lang` WHERE id_lang = '.intval($id_lang).' AND id_category = '.intval($id_category)); if ($row) { if (empty($row['meta_description'])) $row['meta_description'] = strip_tags($row['description']); return self::completeMetaTags($row, Category::hideCategoryPosition($row['name'])); } } Bien cordialement Link to comment Share on other sites More sharing options...
marty69 Posted December 2, 2010 Share Posted December 2, 2010 Bonjour,Merci pour l'info. Oui j'avais repéré ce bout de code (que je ne comprend pas totalement !) mais cependant il n'y a pas d'affichage de cette info dans le titre !? quel est le bout de code qui récupère ce nom de catégorie ?En gros j'imagine qu'il faudrait avoir un truc du genre :$row['meta_description'] = strip_tags($row['description']) et la catégorie ici ; Link to comment Share on other sites More sharing options...
marty69 Posted December 2, 2010 Share Posted December 2, 2010 Sujet clos, j'ouvre un autre topic pour cette question.merci 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