THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour à tous,

Mon problème est le suivant :

J'essaye d'appliquer un filtre sur l'affichage du prix des produits dans le panier.
Je m'explique, j'ai 2 prix différents à afficher en fonction du client et de son pays associé dans cart.html :

Soit le client est Revendeur et Belge ou Luxembourgeois  :  Prix HT dans le panier

<td class="center subprice col-sm-3">
                {if $resseller && $isoalpha3 == 'BEL'}
                <span>{format_money number={{$real_price}*$QUANTITY} symbol={currency attr="symbol"}}</span>
                {else}
                <span>{format_money number={$real_total_price} symbol={currency attr="symbol"}}</span>
                {/if}
            </td>

Soit le client est Particulier en UE : Prix TTC dans le panier

Mon problème est que je n'arrive pas à passer en condition l'attribut "ISOALPHA3"

{block name="init"}
    {$resseller={customer attr="reseller"}}
    {$isoalpha3={country attr="isoalpha3"}}
    {$errorStock = "FALSE"}
{/block}

mais cela n'a pas l'air de fonctionner correctement  pourtant j'utilise la même méthode pour récupérer l'attribut "reseller" et le passer en condition et cela fonctionne correctement . J'ai essayer différentes syntaxe pour le {if $ress}...{/if} mais l'ajout de l'isoalpha3 dans la condition ne fonctionne pas .

Config key ou Substitution ?

Qu'ai-je mal fait ?

Last edited by Manos (17-02-2020 11:53:50)

Offline


Il y a quoi dans la variable $isoalpha3 ?


OpenStudio Toulouse

Offline


Eh bien si j'ai bien compris la notion de substitution $isoalpha3 devrait contenir la le code iso sur 3 lettres du pays du client.

Comment faire pour afficher le contenu de cette variable ?

Last edited by Manos (17-02-2020 13:05:22)

Offline


D'après mes 1ers tests, il s'avère que {$isoalpha3 = {country attr="isoalpha3"}} soit vide donc je n'arrive tout simplement pas à la récupérer correctement semblerait-il dans mon block 'init' car lorsque je lui affect une valeur quelquonque e.g '{$isoalpha3 = 889}, j'ai bien à l'affichage 889

Donc comment faire pour récupérer le pays du client ?

Offline


La boucle "address" te permet de récupérer l'adresse par défaut d'un client ( https://doc.thelia.net/en/documentation … dress.html ), et donc le country ID ($COUNTRY). Avec ce country ID, tu vas utiliser une boucle "country" ( https://doc.thelia.net/en/documentation … untry.html ) pour récupérer le code ISO du pays.


OpenStudio Toulouse

Offline


Ok je voit le principe .
Je teste ça de suite !

Merci beaucoup Roadster !