Jump to content
Sign in to follow this  
fe1lho

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.

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

En fait, le texte s'affiche, mais il n'est pas traduit.
Par quel heureux hasard est-il traduit ?

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

Normalement, si tu as fait ce qu'il fallait dans le TPL, un champ devrait apparaitre dans Outils > Traductions.

Share this post


Link to post
Share on other sites

admin » outils » Traductions » Traductions Front Office [fr] » product » {l s=‘tax not incl.)’} à remplir

Share this post


Link to post
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...

Share this post


Link to post
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 :)

Share this post


Link to post
Share on other sites

Merci de cette information, je vais regarder.
Est-ce que c'est pareil pour les variables ?

Share this post


Link to post
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...)

Share this post


Link to post
Share on other sites

Et tu as quoi qui s'affiche ? Une petite capture et/ou bout de code aiderait.

Share this post


Link to post
Share on other sites
{l s='tax not incl.)'}


J'ai l'affichage de tax not incl.

Share this post


Link to post
Share on other sites

Et dans l'outil de traduction du BO, pour Traduction du Front Office, section Product, tu n'as pas un champ qui s'est ajouté ?
Si c'est le cas, le bloc de cette section doit être déplié.

Share this post


Link to post
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

Share this post


Link to post
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.

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
Sign in to follow this  

×
×
  • Create New...

Important Information

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