Jump to content

Utilisation des variables


Recommended Posts

Bonjour,

Je rentre doucement dans le code..

Dans le code product-list.tpl, je trouve le code suivant :

               {if $displayPreTax AND $display_ht AND $product->id_tax}


{l s='('}{convertPrice price=$product->getPrice(false, NULL, 2)} {l s='tax not incl.)'}
               {/if}


Si je veux reprendre ce code et le mettre dans le fichier product.tpl, apparement l'objet product ne fait pas appel à la même classe...

Egalement la ligne pour avoir le texte converti ne fonctionne pas {l s='tax not incl.)'}

Pouvez vous m'aider ?
D'avance merci.

Link to comment
Share on other sites

Hello,

Selon moi le texte lang/converti {l s=‘tax not incl.)’} devrait s'afficher dans n'improte quel tpl. Si ce n'est pas le cas c'est parce qu'il y a quelque chose d'indigeste juste avant, du coup ça bug et la ligne n'est finalement pas exécuté jusqu'au bout.
Je pense que c'est dû à une variable innaccessible dans le contexte dans lequel vous avez copié le code. Il faudrait activer le debugging et chercher chacune des variables, s'il en manque une ou plusieurs : chercher son équivalent (autre nom?) dans le nouveau contexte.

Link to comment
Share on other sites

Ah ok...

En fait quand vous ajoutez un texte sous cette forme dans un tpl vous allez retrouver cette expression "tax not incl.)" dans le BO / Outils / Traductions.

Selon le contexte dans lequel vous avez ajouté ce texte il faudra sélectionner "traduction du front office" ou "traductions modules" (ou?);
cliquez sur le drapeau, et rechercher le label "tax not incl.)" , juste à sa droite vous avez un champ d'édition qui sera vide, à vous d'écrire la traduction.

Link to comment
Share on other sites

Décidément j'ai du mal à me faire comprendre..

Le texte est traduit, car ce code est pris d'un module qui affiche le produit.
Mais si je met cela sur l'affichage des produits, je n'ai pas la traduction de ce texte...

Link to comment
Share on other sites

Ce n'est pas parce que vous utilisez exatement le même texte dans le tpl qu'il va être traduit dans un autre emplacement...

Vous l'avez changé de contexte ou de module, c'est donc à ce nouvel endroit que vous devez chercher ce label et ajouter la traduction :)

Link to comment
Share on other sites

Concernant les variables, il y en a de trois sortes (en gros)

- Les variables globales qui seront accessible partout dans PS.

- Les variables qui ne sont créés que dans un contexte particulier (donc accessible seulement là et pas ailleurs, exemple un step pendant le processus d'achat)

- Et les variables locales dans les fonctions ou procédures, celles-là ne sont dispo qu'à l'intérieur de la fonction ou procédure.

Je n'ai pas testé votre modif mais j'imagine que le hic se situe dans une variable qui n'existe plus dans le contexte où vous l'utilisez. Il y a forcément moyen de récupérer la valeur. Pour le savoir il faut tracer le contexte original pour savoir où et comment cette variable est créée, et éventuellement comment récupérer la valeur qui vous intérresse (dans une variable perso, ou ailleurs dans smarty...)

Link to comment
Share on other sites

Bon... j'ai testé, ça va plus vite ^^

Déjà dans l'énnoncé du problème (premier message) il y a une inversion puisque ce code existe dans product.tpl et non dans product-list.tpl.

J'ai donc pris le code pour le mettre dans product-list.tpl, et j'ai bien deux champs nouvea à remplir dans la traduc, sans ça on verra toujours "tax not incl.)" à l'écran.

Ensuite concernant le code proprement dit, il ne faut pas utiliser la syntaxe

{convertPrice price=$product->getPrice(false, NULL, 2)}

mais plutot :

{convertPrice price=$product.price}



Ce qui donne, dans product-list.tpl

               {if $displayPreTax AND $display_ht AND $product->id_tax}


{l s='('}{convertPrice price=$product.price} {l s='tax not incl.)'}
               {/if}




Et ça fonctionne parfaitement :P

9267_tEp6EeiY1hsmzSIeJDh7_t

Link to comment
Share on other sites

euhhhh, je ne pouvais pas faire la nuance puisque je vends HT, et j'ai déjà tout démonté ^^

en tout cas je voyais le prix de mon produit tel que je l'ai entré dans le HT quand je l'ai créé...
pour le reste faut tester.

Link to comment
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
×
×
  • Create New...