THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

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

Offline


Bonjour,

Existe t-il une variable accessible dans le template Product pour trouver l'id du gabarit assigné au produit ?
Pour mieux comprendre mon besoin, cela devrait me permettre d'afficher derrière le prix "/kg", "/unité" ou "/lot".

Merci smile

Last edited by fujitsuDev (30-05-2018 10:03:53)

Offline


.La variable $TEMPLATE de la boucle product te permet de récupérer l'ID du gabarit utilisé par le produit


OpenStudio Toulouse

Offline


D'accord, merci, j'ai bien trouvé dans la doc http://doc.thelia.net/en/documentation/ … oduct.html

Mais...

{loop type="product" name="product_sale_unit" id=$product_id}
    {$TEMPLATE}
{/loop}

Il me semble avoir fait conformément à la doc ; j'aurais oublié quelque chose ?
Merci.

Offline


Non, c'est ça. C'est quoi le problème ?


OpenStudio Toulouse

Offline


Je peux par exemple afficher sans problème les outputs $ID, $TITLE, $NEXT, $PREVIOUS, mais pas $TEMPLATE justement.
En revanche, quand je n'ajoute aucun argument, je peux bien ressortir tous les gabarits :

{loop type="product" name="product_sale_unit"}
    {$TEMPLATE}
{/loop}

Dès que je précise l'argument id=$product_id dans le loop, plus rien. C'est pourtant bien ça ?
J'ai même essayé avec ou sans " " et/ou { } pour renseigner cet argument : idem

Merci.

Last edited by fujitsuDev (29-05-2018 15:19:32)

Offline


Il se peut que certains de tes produits n'aie pas de gabarit.

Ta boucle affiche le gabarit pour tous les produits de ton catalogue. Mais vu la façon dont tu les affiche, tu ne vois pas les produits qui n'ont aucun gabarit affecté.

{loop type="product" name="product_sale_unit"}
    {$TEMPLATE}
{/loop}

Essaie cette boucle, et tu verras que certains de tes produits n'ont pas de gabarit :

{loop type="product" name="product_sale_unit"}
   {$ID} : {$TITLE} :  {$TEMPLATE}<br>
{/loop}


OpenStudio Toulouse

Offline


Autant pour moi, il me semblait avoir un gabarit assigné par défaut à toutes mes catégories... Et au pire je pensais que la valeur de $TEMPLATE serait à zéro (comme $BRAND_ID si aucun fournisseur assigné).

Du coup, avec ce code, j'ai ce qu'il me faut :

{loop type="product" name="product_sale_unit" id=$product_id}
    {if !$TEMPLATE}
        <b>unité</b>
    {elseif $TEMPLATE == 1}
        <b>Kg</b>
    {elseif $TEMPLATE == 2}
        <b>litre</b>
    {elseif $TEMPLATE == 3}
        <b>gabarit</b>
    {elseif $TEMPLATE == 4}
        <b>lot/caisse</b>
    {/if}
{/loop}

Merci pour ton aide wink