Jump to content

Erreurs lors de la compilation de templates


 Share

Recommended Posts

Bonjour à tous

 

Nous utilisons Prestashop 1.6.1.1 et un thème Vapoteshop de PrestaCrea (très bien, au demeurant).

 

Nous avons cherché à remplacer 3 valeurs dans le template shopping-cart.tpl du thème afin de supprimer l'affichage des frais de port par défaut à l'étape 1 du tunnel de commande. Cette suppression oblige à recalculer les 3 valeurs affichées suivantes : le montant total des produits commandés, le montant des taxes (puisqu'il faut extraire les taxes provenant des frais de port) et enfin le montant total de la commande, hors frais de port. Il faut aussi tenir compte du fait que la commande peut être TTC (en Europe) ou HT (en Suisse, par exemple).

La suppression de l'affichage des frais de port est triviale dans le template shopping-cart.tpl

Pour le calcul, j'ai utilisé Blockcart.php pour assigner à Smarty les 3 variables suivantes : total_products_without_shipping, total_tax_without_shipping_tax et total_price_without_shipping, en prenant soin d'utiliser le formatage Tools::convertPrice(). 
Puis, dans shopping-cart.tpl, j'ai remplacé les variables des champs existants par les miennes, en utilisant l'option de formatage {displayPrice price=$maVariable}

Le souci vient de l'affichage. Smarty m'affiche une erreur d'index en m'indiquant que les variables ne sont pas référencées. Je peux le comprendre car les templates déjà mis en cache ne prennent pas en compte mes nouvelles variables.

J'ai donc purgé le cache Smarty puis rafraîchi la page. Smarty m'indique alors une erreur :
Notice: Undefined index: total_products_without_shipping in /var/www/telescopes-et-accessoires/prestashop/tools/smarty/sysplugins/smarty_internal_templatebase.php(157) : eval()'d code on line 527

Je n'arrive pas à régler ce problème et je ne trouve pas de solution sur Internet concernant cette erreur.

Ce qui est surprenant, c'est que la suppression de l'affichage des frais de port fonctionne correctement et le template modifié est bien affiché. Par contre, dès que je tente d'afficher une variable assignée, ça plante.

 

Merci de votre aide

 

PS : Une petite remarque sur le tunnel de commande. Il est bizarre d'afficher des frais de port à l'étape 1 avant même de connaître la destination (définie à l'étape 3) et le moyen de transport (à l'étape 4). Il serait plus judicieux de ne pas indiquer de frais de livraison à l'étape 1 pour ne pas risquer d'induire le client en erreur lors des étapes ultérieures (des frais de ports offerts à l'étape 1 peuvent se révéler payants à l'étape 4, selon la destination).

C'est ce comportement que nous avons cherché à modifier, pour le moment sans succès.

 

Vincent
 

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More