Skip to Content

Correction erreur sur le module « Module Simulateur de frais de livraison »

Lors de la maintenance mensuelle de notre client spécialisé dans la vente de filet et toiles d’ombrage, nous avons observé des erreurs dans les fichiers de logs de Pretashop:

SELECT MAX(delivery_time) AS delivery_time FROM  ` ps_totshippingpreview` WHERE id_product IN () LIMIT 1 ;
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘) LIMIT 1’ at line 1 ;

Il s’agit manifestement du module totshippingpreview utilisé dans sa version 2.0.0 sur une version Prestashop 1.7.

En analysant le code,  nous nous sommes aperçus que cela arrive, lorsque nous sommes sur la page du panier et que nous supprimons le dernier produit présent dans le panier. Aucune erreur n’est visible mais ce message est généré dans les fichiers de logs.

Afin d’éviter cette erreur, voici la correction que nous avons partagé avec le développeur du module :

/modules/totshippingpreview/ajax.php l.27

$result = 0;
 if (!empty($id_products)) {
 $sql = 'SELECT MAX(delivery_time) AS delivery_time FROM `'._DB_PREFIX_.'_totshippingpreview` WHERE id_product IN ('.$id_products.')';
 $result = Db::getInstance()->getValue($sql);
 }

Voila des logs plus propres et donc plus utilisables quand nous en avons besoin.

Et puis contribuer à un projet pour le rendre plus sur et améliorer ses fonctionnalités n’est pas la philosophie de l’Open Source si chère à nos yeux.

Mise à jour Prestashop 1.6 en Prestashop 1.7 Officiel : Comment faire de l’humour involontaire

Un petit article qui  suit notre précédent sur la migration d’un Prestashop 1.6 vers Prestashop 1.7.

En effet, sur le Blog de Prestashop, un nouvel article est sorti pour indiquer comment effectuer la mise à jour de Prestashop de la version 1.6 vers la version 1.7. Cet article est d’ailleurs promu sur la colonne droite de votre interface d’administration.

Cet article sur la mise à jour détaille pas à pas les manipulations à effectuer. La procédure est assez courte et bien illustrée.

Néanmoins, elle est excessivement basique et n’est utile que pour les boutiques utilisant Prestashop dans sa version la plus basique, à savoir sans utiliser de modules,  sans utiliser de thème spécifique ni de développement spécifique. Autant dire que cette procédure ne doit s’appliquer qu’à une poignée de boutiques en ligne dans le monde.

En effet, cet article n’aborde pas absolument la question du choix d’un nouveau thème pourtant obligatoire : http://build.prestashop.com/news/prestashop-1-7-and-symfony/.

Les problèmes de mise à jour de modules incompatibles avec cette nouvelle version ou incompatibles entre eux, sont purement ignorés.

Oublier que les marchants utilisent des modules nous semble totalement inimaginable.

Et sans parler des développements spécifiques.

C’est une bonne initiative de simplifier le monde du développement, mais cela est contre-productif car cela décrédibilise le travail des agences Internet et agences de développement travaillant autour de Prestashop.

De ce fait, un marchant lisant cet article ne comprend pas qu’une agence de développement puisse facturer des journées voir des semaines et s’arracher les cheveux pour une migration. Alors qu’une migration reste une opération toujours délicate et couteuse en temps pour une société de développement comme la notre. Pour la mise à jour d’une version 1.6 vers 1.7, vous pouvez avoir un aperçu des difficultés que nous avons pu avoir en relisant notre, excellent (Nous sommes dans la rubrique Humour alors on peut se le permettre), article sur  la mise à jour d’un Prestashop 1.6 vers Prestashop 1.7.

Bref, juste un coup d’humeur destiné aux marchands qui auraient pu tomber sur cet article, pour vous dire

  • Une mise à jour n’est jamais triviale
  • Toujours la tester sur un environnement de pré-production
  • La  tester vraiment !!!! Ne pas juste regarder que le site s’affiche, il faut  ajouter un nouveau produit, faire un commande avec création de compte, appliquer votre processus entier de traitement de commande, …..
  • S’entourer de professionnels spécialisés dans la création et la gestion de site Internet.

 

De nombreuses erreurs « Smarty: Missing template name »

Lors d’une mise à jour de Prestashop 1.6 vers 1.7  pour un de nos clients, et après sa configuration, nous nous sommes aperçus d’un très grand nombre d’erreur :

PHP Fatal error:  Uncaught  –> Smarty: Missing template name <– \n  thrown in /prestashop/vendor/prestashop/smarty/sysplugins/smarty_internal_template.php on line 678, referer: http://local/

Après quelques vérifications, le coupable s’avère être le module de statistiques « Récupération des données statistiques » (statsData).

En tant qu’agence de développement technique spécialisée dans Prestashop, nous avons donc contribué à la stabilité de la plateforme Prestashop en créant une fiche de bug : http://forge.prestashop.com/browse/BOOM-4826

Nous avons même proposé un patch pour la résolution de ce problème.

En espérant que cette correction soit rapidement intégrée dans les prochaines versions de Prestashop afin d’éviter à de nombreux commerçants en ligne de voir leur logs se polluer.

Cet épisode permet aussi de se remémorer qu’un outil Open Source appartient à tous ces utilisateurs et que sa force réside dans celle de ces membres et les apports qu’ils peuvent amener.

Les contributions peuvent être sous plusieurs formes, (Déclaration d’un Bug, Correction d’un bug, Traductions, Tester une nouvelle version….). Pour Prestashop, vous pouvez savoir comment contribuer en regardant le fichier README.md ou le blog technique.

Pourquoi des stocks négatifs sous Prestashop ?!

Certains de nos clients nous remontent une interrogation concernant des stocks négatifs sous Prestashop en version 1.6.* ou 1.7.* alors qu’ils ont précisé dans l’interface d’administration une interdiction des commandes hors-stock.

Cela arrive quelque soit la configuration de « En cas de rupture de stock » choisie : « Refuser les commandes » ou « Par défaut: Refuser les commandes tel que défini dans les préférences produits ».

Il faut d’abord comprendre comment Prestashop vérifie les stocks des produits lors de la validation de panier.

Read more

Vérifier des numéros CPF / CNPJ / CR pour une version Prestashop 1.6.*

Si comme l’artiste JR, au travers de sa boutique Social Animals,  vous êtes amené à envoyer des colis dans le monde entier, et notamment en Chine et au Brésil, vous allez être confronté à la problèmatique des numéros CPF / CNPJ / CR. Documentation difficilement trouvable et donc nécessairement en anglais.

Read more

Sommes-nous une agence experte Prestashop et en applications mobiles ?

Aujourd’hui, j’aimerai beaucoup partager avec vous la façon dont je perçois l’approche commerciale d’un « expert ».

Certes, ce terme a été galvaudé mais en plus, ma conviction profonde c’est que ce terme n’a plus de valeur et n’en a jamais eu.

L’expertise, c’est une perception subjective. Comment peut-on s’auto nommer « expert » ?

Read more

Affichage ordonné des liens d’administration de Prestashop

Perte de menus d’administration entre Prestashop 1.6 et 1.7

Suite à la migration d’un de nos clients d’un Prestashop 1.6 vers 1.7, nous avons été confronté à la disparition de nos menus personnalisés dans l’interface d’administration.

Requête SQL pour les réparer

Afin de retrouver tous nos menus qui ont disparus, voici une petite requête SQL qui permet de s’y retrouver :

SELECT
CONCAT('(',t.id_tab,' - ', t.class_name, ' - ',tl1.name,')') as level1
,CONCAT('(',t2.id_tab,' - ', t2.class_name, ' - ',tl2.name,')') as level2
, t3.*
, tl3.*
FROM ps_tab t
LEFT JOIN ps_tab_lang tl1 ON t.id_tab =tl1.id_tab
LEFT JOIN ps_tab t2 ON t.id_tab = t2.id_parent
LEFT JOIN ps_tab_lang tl2 ON t2.id_tab =tl2.id_tab
LEFT JOIN ps_tab t3 ON t2.id_tab = t3.id_parent
LEFT JOIN ps_tab_lang tl3 ON t3.id_tab =tl3.id_tab
WHERE t.id_parent = 0
ORDER BY t.id_parent, level1, level2, t3.position;

 

 

Mise à jour Prestashop 1.6 en Prestashop 1.7

Voici un petit billet qui va servir de pense-bête, checklist, procédure pour mettre à jour une plateforme Prestashop 1.6 en Prestashop 1.7.

L’un de nos client, Direct-filet, souhaitait migrer une de ses boutiques d’un Prestashop 1.6 vers sa version 1.7.

Nous y sommes arrivés non sans quelques gouttes de sueur. En effet, à ce jour, le module « 1 Click upgrade » ou « Mise à jour en 1 clic » ne permet pas de mise à jour vers la version 1.7.

Prestashop l’annonce, cela ne sera pas facile.

Read more

PliciWeb Solutions