Airshow Posted October 26, 2012 Share Posted October 26, 2012 (edited) Bonjour, Je débute avec Prestashop (je viens de zencart et Webdev). J'ai débuté sous Prestashop 1.5 la refonte d'une boutique qui tourne actuellement sous zencart. J'ai des catégories : montgolfiere helicoptere ... Je veux obtenir les url comme suit : www.maboutique.fr/montgolfiere/10-mon-produit.html J'ai donc activé l'url rewriting, mais je n'ai pas compris comment faire apparaitre la catégorie. J'obtiens le résultat suivant : "monsite.fr/boutique/10-mon-produit.html" (mon dossier prestashop est dans un sous dossier "boutique") voici ma configuration url rewriting dans le back office Prestashop {category:/}{id}-{rewrite}.html Merci d'avance. Daniel Edited October 26, 2012 by Airshow (see edit history) Link to comment Share on other sites More sharing options...
labelandco Posted October 26, 2012 Share Posted October 26, 2012 Bonsoir, Il faut travailler me semble t il sur le fichier .htaccess Link to comment Share on other sites More sharing options...
Romain28 Posted October 26, 2012 Share Posted October 26, 2012 regénére ton fichier htaccess si ca ne change rien, c'est que t'a dupliqué tes produits dans l'accueil et donc prestashop redirige l'url sur son parent (l'accueil) Vérifie si ça le fait sur l'ensemble de tes produits Link to comment Share on other sites More sharing options...
Hedrad Posted October 26, 2012 Share Posted October 26, 2012 Bonjour, Si j'ai bien compris, vous voulez ça : www.maboutique.fr/montgolfiere/10-mon-produit.html et vous avez ça : www.maboutique.fr/10-mon-produit.html Vérifiez en back-office que "mon produit" avec l'id 10 a pour catégorie par défaut "Accueil". Si c'est le cas, assignez-lui comme catégorie par défaut "montgolfiere". Tout devrait être bon... Si vous avez beaucoup de produit et la flegme de modifier la catégorie par défaut sur chaque, il faudra bidouiller dans la base de données. La catégorie par défaut est un champ de la table ps_product. Link to comment Share on other sites More sharing options...
Romain28 Posted October 27, 2012 Share Posted October 27, 2012 Pas besoin de bidouiller ^^ Un fichier CSV avec id du produit et catégorie parente suffira Link to comment Share on other sites More sharing options...
Airshow Posted October 27, 2012 Author Share Posted October 27, 2012 Bonjour, Merci pour vos réponses, J'ai fait ceci : - regénération du .htaccess --> pas de changement - j'ai également vérifié la catégorie par défaut, c'est bien la catégorie montgolfière - Enfin, j'ai crée un autre produit, même résultat, Est-ce que ce paramètre est bien écrit pour ce que je souhaite ? {category:/}{id}-{rewrite}.html Merci d'avance Link to comment Share on other sites More sharing options...
Romain28 Posted October 27, 2012 Share Posted October 27, 2012 {category:/}{id}-{rewrite}.html Essaie en enlevant le ":" Je veux obtenir les url comme suit : www.maboutique.fr/montgolfiere/10-mon-produit.html Comme la boutique est située dans un repertoire tu obtiendras tes liens sous cette forme : "http://tonsite.fr/repertoire-prestashop/category/produit.html Link to comment Share on other sites More sharing options...
Airshow Posted October 27, 2012 Author Share Posted October 27, 2012 j'ai enlevé les deux points Ca donne ce résultat : "http://127.0.0.1:8080/boutique/{category/}8-parc-du-vexin-pays-de-bray.html" Link to comment Share on other sites More sharing options...
Romain28 Posted October 27, 2012 Share Posted October 27, 2012 (edited) Pourquoi tu as une IP ? " Essaie ca : {$category:/}{id}-{rewrite}.html ou {$category}/{id}-{rewrite}.html Avec et sans les ":" Regarde la différence et dis nous ^^ Mais le mieux serait de nous copier ton fichier htaccess Ca evitera de bidouiller Ou alors {$category}-{rewrite}/{id}-{rewrite}.html Edited October 27, 2012 by Romain28 (see edit history) Link to comment Share on other sites More sharing options...
Airshow Posted October 27, 2012 Author Share Posted October 27, 2012 Ok, je joins ci-dessous le contenu de mon fichier htaccess je ne peux accéder à ma boutique et à mon backoffice qu'en remplaçant "localhost" par "127.0.0.1" J'ai en effet IIs qui est présent sur mon poste local. J'ai donc affecté le port 8080 pour Apache, mais je bute encore sur ce pb. Contenu de htaccess /// # ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again # .htaccess automaticaly generated by PrestaShop e-commerce open-source solution # http://www.prestashop.com - http://www.prestashop.com/forums <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} ^127.0.0.1:8080$ RewriteRule . - [E=REWRITEBASE:/boutique/] RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L] # Images RewriteCond %{HTTP_HOST} ^127.0.0.1:8080$ RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L] RewriteCond %{HTTP_HOST} ^127.0.0.1:8080$ RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L] RewriteCond %{HTTP_HOST} ^127.0.0.1:8080$ RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L] RewriteCond %{HTTP_HOST} ^127.0.0.1:8080$ RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L] RewriteCond %{HTTP_HOST} ^127.0.0.1:8080$ RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L] RewriteCond %{HTTP_HOST} ^127.0.0.1:8080$ RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L] RewriteCond %{HTTP_HOST} ^127.0.0.1:8080$ RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L] RewriteCond %{HTTP_HOST} ^127.0.0.1:8080$ RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L] RewriteCond %{HTTP_HOST} ^127.0.0.1:8080$ RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L] RewriteCond %{HTTP_HOST} ^127.0.0.1:8080$ RewriteRule ^c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L] # Dispatcher RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteCond %{HTTP_HOST} ^127.0.0.1:8080$ RewriteRule ^.*$ - [NC,L] RewriteCond %{HTTP_HOST} ^127.0.0.1:8080$ RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L] </IfModule> #If rewrite mod isn't enabled ErrorDocument 404 /boutique/index.php?controller=404 # ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again Link to comment Share on other sites More sharing options...
Airshow Posted October 27, 2012 Author Share Posted October 27, 2012 @Romain28 J'ai testé tes 3 solutions, toujours pas mieux Link to comment Share on other sites More sharing options...
Romain28 Posted October 27, 2012 Share Posted October 27, 2012 (edited) Trop dur pour moi Mais a mon avis c'est rien de bien méchant ... Donc en fait tu as mis ta boutique sur ton ordi c'est ca ? Mais en tout cas dans ton fichier htaccess ya aucune ligne qui parle de tes produit, categories ou cms Edited October 27, 2012 by Romain28 (see edit history) Link to comment Share on other sites More sharing options...
Airshow Posted October 27, 2012 Author Share Posted October 27, 2012 Oui, tout à fait. Ca me permet de découvrir PS en travaillant sur ma refonte Merci Link to comment Share on other sites More sharing options...
thomas-59 Posted November 9, 2012 Share Posted November 9, 2012 Bonjour, j'ai exactement le même problème mais je n'ai pas encore trouvé de solution, j'espère que l'on pourra résoudre ce problème rapidement. Link to comment Share on other sites More sharing options...
ChDUP Posted November 19, 2012 Share Posted November 19, 2012 pareil pour ma part. souci très important pour le réferencement sous presta 1.5 ! Link to comment Share on other sites More sharing options...
Fabien R Posted November 23, 2012 Share Posted November 23, 2012 Bonjour Je rencontre exactement le meme problème ! Le bug a été identifié : http://forge.prestashop.com/browse/PSCFV-5722 Reste à attendre que ce soit corrigé... Link to comment Share on other sites More sharing options...
Hacheman Posted December 1, 2012 Share Posted December 1, 2012 et pourquoi vouloir avoir l'url monsite/categorie/produit.htm? J'ai opté pour monsite/produit-categorie.htm Mais je ne sais pas si c'est mieux ou pas Link to comment Share on other sites More sharing options...
aqwzsx159 Posted March 18, 2013 Share Posted March 18, 2013 Bjr, Mon problème est presque pareil à le votre, j’aimerais avoir un url sur les catégory du type /6-category.html. mais je ne sais pas comment le faire! cdlt, aqwzsx159 Link to comment Share on other sites More sharing options...
labelandco Posted March 18, 2013 Share Posted March 18, 2013 et pourquoi vouloir avoir l'url monsite/categorie/produit.htm? J'ai opté pour monsite/produit-categorie.htm Mais je ne sais pas si c'est mieux ou pas c'est aussi bien pour ne pas dire excellent Link to comment Share on other sites More sharing options...
aqwzsx159 Posted March 20, 2013 Share Posted March 20, 2013 (edited) Bjr, voir Link.php ps 1.5.3, puis ajouter : if ($dispatcher->hasKeyword('product_rule', $id_lang, 'category')) $params['category'] = Tools::str2url($product->category); dans getProductLink. Dans 1.5.2 ça n'existe pas encore!! cdlt, aqwzsx159 Edited March 20, 2013 by aqwzsx159 (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts