Pierre-Henri 0 Posted June 24, 2010 Bonjour,Je débute dans l'intégration de chartes graphiques sous Prestashop.Je cherche à créer des liens vers des produits ou des catégories mais en respectant la structure des liens. J'imagine que, comme dans Zencart avec la fonction zen_href_link(), il est possible de trouver l'URL réécrite d'un produit, d'une catégorie ou d'une page de CMS via une fonction et les paramétres qui vont bien ?Si oui, quelle est cette fonction et ses différents paramètres.Merci pour vos réponses.pH Share this post Link to post Share on other sites
Pierre-Henri 0 Posted June 24, 2010 Je me réponds à moi-même sur l'un des points car j'ai trouvé la solution pour les pages de CMS.Je ne sais pas si c'est la meilleure méthode mais en tout cas, elle fonctionne. $page_link = CMS::getLinks(2, array(4)); // 2 : Id de la langue courante. array(4) : Id de la page $smarty->assign('cms_about_us', $page_link['link']); pH Share this post Link to post Share on other sites
jcmht 5 Posted June 24, 2010 Je me réponds à moi-même sur l'un des points car j'ai trouvé la solution pour les pages de CMS.Je ne sais pas si c'est la meilleure méthode mais en tout cas, elle fonctionne.$page_link = CMS::getLinks(2, array(4)); // 2 : Id de la langue courante. array(4) : Id de la page $smarty->assign('cms_about_us', $page_link['link']); pH Bonsoir P.Hça me semble correcte, juste une questin pkoi :$page_link = CMS::getLinks(2, array(4)); // 2 : Id de la langue courante. array(4) : Id de la page $smarty->assign('cms_about_us', $page_link['link']); au lieu de : $page_link = CMS::getLinks(2, array(4)); // 2 : Id de la langue courante. array(4) : Id de la page $smarty->assign('cms_about_us', $page_link); à quoi sert le ['link'] ??? Share this post Link to post Share on other sites
Pierre-Henri 0 Posted June 24, 2010 Car $page_link est un Array pardi ! un print_r() de $page_link donne les valeurs suivantes : Array ( [0] => Array ( [id_cms] => 4 [link_rewrite] => [color=red]'lien-seo-friendly'[/color] [meta_title] => [color=red]'Balise META <title>'[/color] [link] => [color=red]'Lien absolu vers la page'[/color] ) ) pH Share this post Link to post Share on other sites
jcmht 5 Posted June 24, 2010 ok merci,je pensais que comme tu avais renseigné l'ID de l apage " 4 ", fallait pas précisermerci pour ta réponse, en plus je pense jamais à vérifier avec un simple print_r() ;-)Bonne continuation P.H Share this post Link to post Share on other sites
Pierre-Henri 0 Posted June 24, 2010 En fait, j'ai trouvé une petite erreur. Le Array contient en fait un Array. Je dois donc donner la clé 0 pour accéder à la première ligne qui contient les informations de la page de CMS.Le code correct est donc $page_link = CMS::getLinks(2, array(4)); $smarty->assign('cms_about_us', $page_link[0]['link']); Par-ailleurs, j'ai simplifié le code PHP et utilisé Smarty pour accéder à ma valeur de mon Array. Ce qui semble être la méthode la plus correcte pour Prestashop.Ce qui donne donc dans le fichier PHP (Exemple : header.php) $page_link = CMS::getLinks(2, array(4)); // 2 : Id de la langue courante. array(4) : Id de la page $smarty->assign('cms_about_us', $page_link['link']); Et dans le fichier TPL (Exemple : header.tpl) Qui sommes-nous ? pH Share this post Link to post Share on other sites
jcmht 5 Posted June 24, 2010 P.H,ce que je sasie pas, c'est si tu veux uniquement faire un lien vers une page CMS , depuis un TPL, tu n'as pas vraiment besoin de passer par du code PHP tu peux le rentrer simplement comme un lien normal :Qui sommes-nous ? le "1" étant l'ID de ta page CMS et "Qui_sommes_nous", la réécriture url que tu as rentré lors de la création de ta page CMS.je fais comme çà perso, si je veux mettre des liens CMS à différents endroit, pour faire simple,Maintenant, si tu veux faire un module, un menu , faut voir pour récupérer toutes ou partie des pages CMS par exemple Share this post Link to post Share on other sites
Pierre-Henri 0 Posted June 24, 2010 Le problème de coller le lien en dur dans le TPL, c'est que tôt ou tard, il faudra repasser dessus pour telle ou telle raison (changement du domaine principal du site, changement des balises META, ...).Il me semble bien plus logique d'utiliser les fonctions présentes dans Prestashop plutôt que de faire le "porc" dans les TPL... Simple avis pH Share this post Link to post Share on other sites
nodar44 4 Posted September 2, 2010 Bonjour,j'ai un problème au niveau de l'url rewriting dans le template de mon site au niveau du module "variouslink", est-ce que cette méthode corrigerait le problème et si oui, que faut-il mettre dans les liens href du .tpl?Merci.Arnaud. Share this post Link to post Share on other sites
Pierre-Henri 0 Posted September 2, 2010 Bonjour,"est-ce que cette méthode corrigerait le problème"Le mieux est d'essayer "si oui, que faut-il mettre dans les liens href du .tpl"Pourrais-tu donner plus de précisions ?pH Share this post Link to post Share on other sites
nodar44 4 Posted September 2, 2010 merci de me répondre actuellement, dans mon variouslink.tpl, j'ai des liens sous cette forme : {l s='Terms and conditions of use' mod='blockvariouslinks'} Le problème c'est que quand je clique dessus dans mon footer, il m'affiche la page www.monsite.com/cms.php?id_cms=3alors que moi je voudrais que le navigateur affiche directement l'url avec le rewriting, d'autant plus que ça fonctionne très bien pour le reste Mais voila m'sieur, je sais po comment faire Merci. Share this post Link to post Share on other sites
Rom Soul 18 Posted March 12, 2012 Bonjour, merci pour cette méthode qui permet de linker proprement une page CMS d'après son identifiant. Y a-t-il un équivalent pour linker une catégorie d'après son identifiant ? ... (ou encore mieux: linker une catégorie d'après son titre, à l'aide d'une expression régulière ou autre ?) Share this post Link to post Share on other sites