Mando Posted September 10, 2014 Share Posted September 10, 2014 J'ai, pour les besoins de ma boutique, créé plusieurs nouvelles classes, pour de nouvelles fonctionnalités, dont un blog. Or, je n'arrive pas à faire apparaître les metatags : la balise title et le meta_title reste invariablement remplie par le nom de la boutique, et les champs meta_description et meta_keywords restent vide. Quelqu'un aurait-il la solution magique pour faire apparaître ces informations ? J'ai quand même fouillé un peu plus que ça, j'ai remarqué que passer les informations à Smarty ne suffisaient pas, puisqu'on les récupère sur la page banane.tpl et non sur header.tpl, où elles seraient utiles. J'ai fouillé un peu dans tous les coins, en décortiquant les classes Product, Category et Manufacturer pour voir comment ils traitaient ces informations, mais ballepeau (idem pour les controlleurs associés). La seule piste que j'ai trouvée à ce niveau serait quelque chose en rapport avec getTranslationsFieldsChild(), seule fonction que j'ai trouvée utilisant le mot "meta_title". Je tourne sur 1.4.8.2 Merci d'avance. Link to comment Share on other sites More sharing options...
Mando Posted September 11, 2014 Author Share Posted September 11, 2014 J'ai eu un éclair de génie hier soir, du coup je donne la solution à mon propre problème : Il suffit d'éditer la classe Tools, et de rajouter à la fin de la fonction getMetaTags() un truc du genre : Pour une page fixe : elseif(strpos($_SERVER['PHP_SELF'],'blog.php')) { $row = array(); $row['meta_title'] = 'Mon titre - '.Configuration::get('PS_SHOP_NAME'); $row['meta_description'] = 'Ma meta_description'; $row['meta_keywords'] = 'Mes meta_tags'; return self::completeMetaTags($row, $row['meta_title'], $row['meta_description'], $row['meta_keywords']); } Si c'est pour des pages dynamiques (comme par exemple, les articles du blog) : elseif ($id_article = self::getValue('id_article')) { $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow(' SELECT `post_meta_title`, `post_meta_description`, `post_meta_keywords` FROM `'._DB_PREFIX_.'mon_blog` WHERE id_lang = '.(int)($id_lang).' AND id_pl_blog_post = '.(int)($id_article)); if ($row) { $row['meta_title'] = $row['post_meta_title'].' - Article du blog d\''.Configuration::get('PS_SHOP_NAME'); $row['meta_description'] = $row['post_meta_description']; $row['meta_keywords'] = $row['post_meta_keywords']; return self::completeMetaTags($row, $row['meta_title'], $row['meta_description'], $row['meta_keywords']); } } Et voilà, on peut du coup avoir les meta_tags correspondant à nos articles ou à nos pages fixes, et non plus les meta par défauts. Google préfère ça. 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