Todo list – test Prestashop 1.5

avril 13, 2012 4 commentaires

Objectif principal : étudier si Prestashop 1.5 peut être utilisé en production pour un nouveau projet de ecommerce.

TODO

  • Faire fonctionner la réécriture d’URL
  • Étudier les articles configurables
  • Étudier le concept de pack dans prestashop 1.5

Done

  • Installer Prestashop 1.5
Catégories :5 Prestashop 1.5

[Non résolu] Url rewriting – Prestashop 1.5 – OVH

avril 13, 2012 11 commentaires

Juste après l’installation de Prestashop 1.5, un lien apparait sur le tableau de bord qui encourage à aller paramétrer l’url rewriting (réécriture d’URL).

La première fois que j’ai suivi ce lien, voici le message qui est apparu en rouge :

URL simplifiée : L’URL rewriting (mod_rewrite) n’est pas activé sur votre serveur. Si vous voulez utiliser les URL simplifiées, veuillez activer ce module Apache.

Question

Comment activer le mod_rewrite chez OVH ?

Test qui n’a pas fonctionné :

Solution trouvée sur cette discussion sur le forum support Prestashop.

Ajouter les lignes suivantes dans le fichier .htaccess à la racine du répertoire d’installation de Prestashop :

# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# WARNING: PLEASE DO NOT MODIFY THIS FILE MANUALLY. IF NECESSARY, ADD YOUR SPECIFIC CONFIGURATION WITH THE HTACCESS GENERATOR IN BACK OFFICE
# http://www.prestashop.comhttp://www.prestashop.com/forums

<IfModule mod_rewrite.c>
# URL rewriting module activation
RewriteEngine on

# URL rewriting rules
RewriteRule ^api/?(.*)$ /webservice/dispatcher.php?url=$1 [QSA,L]
RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2$3.jpg [L]
RewriteRule ^([0-9]+)\-([0-9]+)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2.jpg [L]
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$1$2.jpg [L]
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$1$2$3.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteRule ^c/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg [L]
RewriteRule ^c/([a-zA-Z-]+)/[a-zA-Z0-9-]+\.jpg$ /img/c/$1.jpg [L]
RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg [L]
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L]
RewriteRule ^[a-zA-Z0-9-]*/([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L]
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*(/[a-zA-Z0-9-]*)+ /category.php?id_category=$1&noredirect=1 [QSA,L]
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]* /category.php?id_category=$1 [QSA,L]
RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*) /supplier.php?id_supplier=$1 [QSA,L]
RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*) /manufacturer.php?id_manufacturer=$1 [QSA,L]
RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms=$1 [QSA,L]
RewriteRule ^content/category/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms_category=$1 [QSA,L]
RewriteRule ^page-non-trouvee$ /404.php [QSA,L]
RewriteRule ^adresse$ /address.php [QSA,L]
RewriteRule ^adresses$ /addresses.php [QSA,L]
RewriteRule ^authentification$ /authentication.php [QSA,L]
RewriteRule ^meilleures-ventes$ /best-sales.php [QSA,L]
RewriteRule ^panier$ /cart.php [QSA,L]
RewriteRule ^contactez-nous$ /contact-form.php [QSA,L]
RewriteRule ^bons-de-reduction$ /discount.php [QSA,L]
RewriteRule ^suivi-commande-invite$ /guest-tracking.php [QSA,L]
RewriteRule ^historique-des-commandes$ /history.php [QSA,L]
RewriteRule ^identite$ /identity.php [QSA,L]
RewriteRule ^fabricants$ /manufacturer.php [QSA,L]
RewriteRule ^mon-compte$ /my-account.php [QSA,L]
RewriteRule ^nouveaux-produits$ /new-products.php [QSA,L]
RewriteRule ^commande$ /order.php [QSA,L]
RewriteRule ^details-de-la-commande$ /order-follow.php [QSA,L]
RewriteRule ^commande-rapide$ /order-opc.php [QSA,L]
RewriteRule ^avoirs$ /order-slip.php [QSA,L]
RewriteRule ^mot-de-passe-oublie$ /password.php [QSA,L]
RewriteRule ^promotions$ /prices-drop.php [QSA,L]
RewriteRule ^recherche$ /search.php [QSA,L]
RewriteRule ^plan-du-site$ /sitemap.php [QSA,L]
RewriteRule ^magasins$ /stores.php [QSA,L]
RewriteRule ^fournisseurs$ /supplier.php [QSA,L]
</IfModule>

# Catch 404 errors
ErrorDocument 404 /404.php

 

 

 

Configuration Prestashop 1.5 sur mutualisé OVH

avril 13, 2012 1 commentaire

Après avoir résolu le petit problème PHP5 d’OVH, j’ai lancé sans problème le beau scrip d’installation de Prestashop.

Tout se passe bien pour le moment mais j’ai 2 warning dont je ne connais pas l’importance sur l’écran de test de compatibilité du système :

  • Option PHP register_global désactivée (recommandé) ?
  • Option PHP magic_quotes désactivée (recommandé) ?

J’en prend note ici et j’y reviendrai peut-être plus tard.

[Résolu] Message d’erreur Prestashop 1.5 sur OVH – première installation

avril 13, 2012 6 commentaires

Après avoir créé une base de  données vierge et avoir uploadé la version 1.5.0.9, voici le message d’erreur que j’obtiens quand j’essaie de lancer la script d’installation (en me connectant sur l’accueil).

Parse error: syntax error, unexpected T_OBJECT_OPERATOR in …/index.php on line 29

Erreur lors d’une tentative de connexion sur le répertoire /install :

Parse error: syntax error, unexpected ‘{‘ in …/install/index.php on line 31

Je soupçonne immédiatement un problème de php 5 sur OVH.

Solution :

  1. Créer un fichier texte
  2. Y recopier cette ligne : SETENV PHP_VER 5
  3. L’uploader via FTp sur le répertoire racine de l’installation de Prestashop
  4. Le renommer .htaccess sur le FTP

 

Débrancher prestashop pendant les vacances

juillet 30, 2010 9 commentaires

Comme pendant les vacances il n’y aura personne pour livrer les commandes, nous avons choisi d’arrêter la boutique et d’empêcher la prise de commandes plutôt que d’être obligé de les livrer en retard.

  • La première solution est de passer la boutique en « mode maintenance » mais dans ce cas les URL ne sont plus accessible et j’ai peur de risquer une désindéxation dans Google.
  • Une autre solution est de mettre un message sur la page d’accueil mais qui y fera vraiment attention ?
  • Une solution est de supprimer / désactiver provisoirement le module de paiement (Paypal V1.6 chez nous) mais c’est un peu brutal comme solution ?

On doit pouvoir trouver d’autres pistes / options pour arriver au même résultat. Si vous avez une autre idée, ça m’intéresserait de savoir comment vous avez fait. Merci de laisser un commentaire dans ce cas.

Catégories :3 Problèmes Étiquettes : ,

Paypal : Erreur de paiement

juillet 6, 2010 8 commentaires

Normalement, après qu’un client ait payé avec Paypal le statut de la commande passe automatiquement à « paiement accepté » (Prestashop et paypal communiquent ensemble).

Si le client ne paye pas strictement le montant demandé, la commande passe au statut « erreur de paiement ». Ça m’est arrivé avec une différence de 5 centimes entre le montant attendu et le montant payé.

Je ne sais pas ce qui peut causer ce dysfonctionnement et voici la procédure à suivre dans ce cas :

  1. Dans ce cas l’onglet des commandes indique « en rouge » le montant payé.
  2. Se connecter à son compte Paypal et voir si le paiement a bien été effectué.
  3. S’il a bien été effectué, passer manuellement la commande à « paiement accepté »

Nouvelle version Prestashop 1.3

Mai 26, 2010 1 commentaire

La nouvelle version vient de sortir. Voici le changelog.

Avant de l’utiliser en « production » je vais l’installer sur ma base de test un de ces jours et publier mon compte rendu.

pour l’instant, voici ma « todo » liste (que je vais probablement compéter dans les jours qui viennent) :

Gestion des promotions et soldes dans Prestashop

Mai 18, 2010 9 commentaires

Les promotions se gèrent article par article (produit par produit dans la terminologie Prestashop). Pour un produit, l’ensemble de ses déclinaisons vont apparaitre comme « soldées » dans le front end.

On ne peut apparemment pas gérer les promotions au niveau de la catégorie ou même de l’ensemble du site.

Paramétrage dans prestashop :

  1. Cocher la case « Affiche « en solde » en icône sur la page produit ainsi qu’en texte sur les pages catégories » dans l’onglet « Infos » de l’article.
  2. Renseignez un taux de remise sur le même onglet.
  3. Vérifiez que vous disposez bien des fichiers onsale_lg.gif dans le répertoire /img de votre thème; Avec _lg à remplacer par le code de votre langue (exemple onsale_fr.gif, onsale_de.gif).
  4. Éventuellement, activez un module (appelé « Bloc Promotions ») pour mettre en avant vos articles en solde sur toutes les pages de votre boutique. Ce sont les articles avec un taux de remise de renseigné qui apparaissent dans ce bloc.
  5. Testez le front-end de votre boutique pour vérifier que tout va bien.

Articles à options et accessoires dans Prestashop

avril 21, 2010 7 commentaires

Prestashop permet de gérer des options associées aux articles. Dans le vocabulaire de Prestashop ces options sont appelées « accessoires ».

Lorsque qu’un article est associé à un accessoire, un onglet apparait (dans le thème par défaut) qui permet d’ajouter au panier les options éventuelles.

Mon besoin est de pouvoir associer des terminaisons  particulières (finitions sur boucle épissée) à des cordages.

Limites de Prestashop

  1. On peut ne commander qu’une option sans commander l’article principal. Je n’ai pas trouver comment empêcher de commander seulement une option.
  2. On ne peut pas limiter le nombre d’option par article (exemple commander 3 terminaisons sur un seul cordage).
  3. On ne peut pas gérer des options qui s’excluent mutuellement (genre bouton radio qui demande au client de faire un choix).
  4. Si vous commandez 3 articles différents et 2 fois la même option vous aurez 3 lignes d’articles et une seule ligne avec les 2 options, sans savoir à quel article cela se rapporte.
  5. Avec le thème par défaut, le système d’affichage de l’onglet « accessoires » n’est peut-être pas évident à utiliser si on se place du point de vue des clients. Il me semble que j’aurais préféré voir apparaitre le sélecteur d’option juste en dessous du bouton « ajouter au panier » de l’article principal.

Paramétrage dans Prestashop.

  1. Créer une catégorie pour les options en choisissant de ne pas l’afficher.
  2. Créer des articles dans la catégorie option (stock 0 et pas de message sur rupture). Expliquer le mode d’emploi et les règles dans la description de l’article ?
  3. Associer les articles accessoires aux articles principaux. L’association se fait dans le bas de l’onglet « infos » des articles principaux. On peut ajouter plusieurs options sur un seul article.

Note plus personnelle

  1. Compte tenu de mon cahier des charges il faudrait créer un article d’option par article (et non pas un seul article d’option pour l’ensemble des articles).
  2. Voir aussi le libellé et l’affichage des options, la place disponible dans l’affichage par défaut est assez limitée (seul le résumé s’affiche dans l’onglet options des articles principaux).
  3. Voir comment changer le titre de l’onglet « accessoire » (en jouant sur les traductions)

Google Product Search et Prestashop

mars 25, 2010 1 commentaire

Google Product Search

Google Product Search est un service de Google qui permet de trouver des produits et de comparer les prix de ces produits entre différents sites web. Cela ressemble un peu à Kelkoo mais il n’y a apparemment pas de frais d’inscription ni de commissions à verser à Google lorsque l’on utilise ce comparateur de prix.
A l’heure ou j’écris ces lignes, ce service n’est pas disponible en France mais il est disponible pour l’Allemagne (mon pays cible) ainsi que pour les USA et le Royaume Uni. Si un de ces 3 pays se trouve dans votre cible, j’ai l’impression que le service est intéressant.

Information à fournir à Google Product.

Les guidelines de Google Product montrent qu’on peut alimenter Google Product Search avec un fichier de type GoogleBase, un fichier texte séparé par des tabulations, un fichier Excel, un fichier XML, toute sorte de flux RSS, et même une API dédiée.

Module pour Prestashop.

Il existe un module écrit pour alimenter Google Product avec des articles d’une boutique Prestashop. Le module s’appelle Googlebase.

Le problème de ce module est qu’il génère un enregistrement par article dans le fichier XML. Les déclinaisons ne sont pas prises en compte.

Vous pourrez sans doute vous passer de ce module soit en créant le fichier directement à partir d’un ERP soit à partir de quelques requêtes bien foutues sur votre basse de données.

Question des attributs de Prestashop.

Il y a un problème particulier qui se pose avec Prestashop si vous avez utilisé des attributs (aussi appelées déclinaison) pour stocker des articles avec des prix et des caractéristiques différentes.

En effet les guidelines de Google Product Seach indiquent : « Landing pages should list only one item per page » et ce n’est pas ce qui se passe quand vous avez besoin de communiquer vos références stockées dans des attributs de Prestashop.

En effet dans ce cas la « landing page » de Prestashop est la page d’un produit et les déclinaisons ne sont accessible que par une ou plusieurs liste déroulantes. Il n’y a pas d’URL spécifique pour chacune des options…

J’ai déjà écrit un article sur la question des URL d’une liste à options et je n’ai pas encore trouvé de solution satisfaisante.

Contournement pour utiliser Google doc avec des attributs.

J’ai essayé de réfléchir à quelques solutions pour le problème expliqué ci dessus mais aucune n’est satisfaisantes. Voici mes idées :

  • Ne référencer que les premières déclinaisons de chaque produit : cal peut fonctionner pour certains mais ce n’est absolument pas satisfaisant pour moi.
  • Balancer à Google toutes les déclinaisons même si ont toute la même URL (landing page) : cela ne respecte pas les guidelines de Google et peut-être que Google n’acceptera pas plusieurs articles avec la même URL. Je n’ai pas testé.
  • Créer des articles « fictifs » dans Prestashop qui ne serviraient que de « landing page » pour Google Product : c’est peut-être une piste à explorer mais je ne vois pas trop comment faire pour que d’une part ces pages ne soient pas parcourues par des visiteurs humains visitant le site et d’autres part qu’elles permettent de retomber rapidement sur les pages « normales » pour les visiteurs venus par Google Product Search. C’est en fait une sorte de question de « cloaking légitime ».