Prestaddons Posted December 8, 2012 Share Posted December 8, 2012 Bonjour à tous ! Je travaille actuellement sur le portage d'un module en version Prestashop 1.5. Dans ce module, je récupère une liste de produits à partir de la classe Products de Prestashop (méthode getNewProducts() par exemple). A partir de là, j'ai besoin des urls "rewrités" de chaque produits de ma liste. Evidemment, l'url rewrite est activé sur ma boutique. Avec les anciennes versions de Prestashop, cela fonctione bien. L'url présente dans la propriété "link" de chaque produit contient soit l'url basique si le rewrite n'est pas activé, soit l'url rewrité si le rewrite de la boutique est activé. Avec la version 1.5.2, la propriété "link" ne contient que l'url basique, quel que soit le cas. J'ai donc essayé d'utiliser la classe "link" pour pallier au problème, mais sans succès. J'ai bien peur qu'il y ai une histoire de "Contexte" là dessous... mais je ne sais pas comment régler cela. Quelqu'un saurait-il comment procéder svp ? Merci d'avance. Link to comment Share on other sites More sharing options...
coeos.pro Posted December 8, 2012 Share Posted December 8, 2012 bonjour, c'est quoi une url basique ? Link to comment Share on other sites More sharing options...
Prestaddons Posted December 9, 2012 Author Share Posted December 9, 2012 Ce que j'appelle une "url basique" est une url non rewrité de la forme : http://localhost/prestashop_1.5.2/index.php?id_product=1&controller=product&id_lang=5 Moi ce qu'il me faut c'est ceci : http://localhost/prestashop_1.5.2/fr/1-ipod-nano.html A noter que quand j'active l'url rewriting dans le BO, cela fonctionne bien sur le site. Mon problème concerne le fait de récupèrer les urls rewrités des produits dans le BO (plus précisément dans un module). Merci. Link to comment Share on other sites More sharing options...
acney03 Posted December 9, 2012 Share Posted December 9, 2012 J'ai le meme probleme, t'as resolu? Comment faire? Link to comment Share on other sites More sharing options...
Prestaddons Posted December 10, 2012 Author Share Posted December 10, 2012 Et non toujours pas résolu malheureusement. J'ai cherché au niveau de la méthode getProductLink() de la classe Link, mais toujours sans aucun résultat. L'url en sortie n'est toujours pas celle rewritée... Si quelqu'un a une idée ? Link to comment Share on other sites More sharing options...
Muad'Dib Posted December 11, 2012 Share Posted December 11, 2012 Coucou, Bon ce n'est pas un module donc je ne réponds pas à 100% à la question demandée mais en revanche si comme moi vous avez besoin de ces adresse pour des usages externes voici comment les récupérer facilement et gratuitement. Depuis la 1.5 (et peut-être même avant je n'en sais rien) l y a un outil très utile dans le BO. BO > Paramètres Avancés > SQL Manager. Vous pouvez y effectuer des requêtes personnalisées. Dans votre cas voici plus ou moins la requête que vous souhaitez effectuer: SELECT p.id_product, pl.name, pl.link_rewrite FROM pss_product p LEFT JOIN pss_product_lang pl ON (p.id_product = pl.id_product) WHERE pl.id_lang = 2 AND p.id_shop_default = 1 GROUP BY p.id_product J'ai supposé que vous vouliez le français d'où la langue 2 sélectionnée. A changer par autre chose le cas échéant. Pareil si vous ne voulez pas ni des ID produits ni des noms produits vous enlevez p.id_product & pl.name de la première ligne. TADA! Hope this helps. Cheers! Link to comment Share on other sites More sharing options...
Prestaddons Posted December 13, 2012 Author Share Posted December 13, 2012 Hello, Malheureusement ce n'est pas ce que je recherche. Ce dont j'ai besoin ce sont les urls absolues rewrités. Avec cette requête on obtient uniquement la valeur "link_rewrite" qui est déjà fournie par la méthode getProducts(), même sur la version 1.5. Autre point, depuis la version 1.5, le français n'a plus l'id "2" mais l'id "5"... Donc pour le moment, toujours dans l'impasse par rapport à mon problème initial... Si quelqu'un a une idée... Merci d'avance. Link to comment Share on other sites More sharing options...
Muad'Dib Posted December 13, 2012 Share Posted December 13, 2012 (edited) Autre point, depuis la version 1.5, le français n'a plus l'id "2" mais l'id "5"... C'est intéressant ça.... Parce que j'ai moi qui ait fait une MAJ d'une vieille version PS... il a toujours la valeur 2. Faut que je note quelque part de faire mes requêtes avec le code ISO plutôt lui il devrait pas changer au moins. Sinon par absolute vous entendez bien quelque chose du genre: http://www.monsite.com/prestashop/fr/url-de-mon-produit.html Edited December 13, 2012 by Muad'Dib (see edit history) Link to comment Share on other sites More sharing options...
coeos.pro Posted December 13, 2012 Share Posted December 13, 2012 C'est intéressant ça.... Parce que j'ai moi qui ait fait une MAJ d'une vieille version PS... il a toujours la valeur 2. sur 1.4 l'id_lang FR est 2, si tu mets à jours une 1.4 vers 1.5 ça reste 2 mais si tu installes une version 1.5 alors c'est 5 Link to comment Share on other sites More sharing options...
Prestaddons Posted December 13, 2012 Author Share Posted December 13, 2012 Coeos.pro a raison concernant l'ID de langue. C'est exactement ca. Pour l'url absolute, c'est bien ce que je recherche Muad'Dib. 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