Pierre-Henri Posted June 24, 2010 Share 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 Link to comment Share on other sites More sharing options...
Pierre-Henri Posted June 24, 2010 Author Share 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 Link to comment Share on other sites More sharing options...
jcmht Posted June 24, 2010 Share 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'] ??? Link to comment Share on other sites More sharing options...
Pierre-Henri Posted June 24, 2010 Author Share 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 Link to comment Share on other sites More sharing options...
jcmht Posted June 24, 2010 Share 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 Link to comment Share on other sites More sharing options...
Pierre-Henri Posted June 24, 2010 Author Share 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 Link to comment Share on other sites More sharing options...
jcmht Posted June 24, 2010 Share 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 Link to comment Share on other sites More sharing options...
Pierre-Henri Posted June 24, 2010 Author Share 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 Link to comment Share on other sites More sharing options...
nodar44 Posted September 2, 2010 Share 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. Link to comment Share on other sites More sharing options...
Pierre-Henri Posted September 2, 2010 Author Share 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 Link to comment Share on other sites More sharing options...
nodar44 Posted September 2, 2010 Share 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. Link to comment Share on other sites More sharing options...
Rom Soul Posted March 12, 2012 Share 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 ?) 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