THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

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

Offline


Bonjour,

Je souhaite mettre le choix des déclinaisons directement dans la page category.
En copiant la boucle de la page produit, le nom de ma déclinaison s'affiche bien, mais la liste déroulante est vide... et en dessous une liste vide nommée Options s'affiche également alors que celle-ci ne s'affiche pas sur ma page produit...
Avez-vous une idée pour résoudre ce problème ?

D'autre part, je souhaiterai afficher la déclinaison choisie dans la panier mais je ne trouve pas comment faire sad

Merci pour votre aide

Offline


Pour ceux que ça intéresserait, j'ai réussi à afficher la déclinaison choisie dans le panier dans la boucle suivante :
{loop type="attribute_combination" name="declinaison" product_sale_elements=$PRODUCT_SALE_ELEMENTS_ID}
     {$ATTRIBUTE_TITLE} {$ATTRIBUTE_AVAILABILITY_TITLE}
{/loop}

Par contre, je n'ai pas encore réussi à afficher la liste déroulante des déclinaisons à choisir dans ma page catégorie.

Toute piste est la bienvenue wink

Offline


Si tu n'a qu'une seule déclinaison par produit, un truc comme ça devrait fonctionner :

{form_field field='product_sale_elements_id'}
<select name="name="{$name}">
    {loop name="pse" type="product_sale_elements" product=$product_id}
        {$pseID = $ID}
        {loop name="combi" type="attribute_combination" product_sale_elements="$ID" order="manual"}
            <option value="{$pseID}">{$ATTRIBUTE_TITLE}: {$ATTRIBUTE_AVAILABILITY_TITLE}</option>
        {/loop}
    {/loop}
</select>
{/form_field}

OpenStudio Toulouse

Offline


Mille merci Roadster31 pour ton retour ! que deviendrait-on sans toi .....
ça fonctionne ! lorsqu'il n'y a qu'une combinaison.
cependant j'ai parfois plusieurs déclinaisons sad

Offline


J'ai modifié la boucle de la sorte :
                          {form_field field='product_sale_elements_id'}
                                {loop name="ps" type="attribute" product=$product_id}
                                {$TITLE}
                                {$pseID = $ID}
                                <select name="{$name}">
                                    {loop name="pse" type="product_sale_elements" product=$product_id}
                                        {loop name="combi" type="attribute_combination" product_sale_elements="$ID" order="manual"}
                                            <option value="{$pseID}">{$ATTRIBUTE_AVAILABILITY_TITLE}</option>
                                        {/loop}
                                    {/loop}
                                </select>
                                {/loop}
                          {/form_field}
Cela fonctionne bien si une déclinaison, mais lorsque j'en ai deux, j'ai bien 2 listes, mais les deux sont identiques avec un mélange des 2 déclinaisons sad
Je ne comprends pas d'où cela vient ?!? manque-t-il un attribut ?
A quoi sert la boucle Attribute availability ? faut-il l'utiliser ici ?

Offline


Les déclinaisons dans Thelia 2 sont basées sur les combinaisons. A chaque combinaison de déclinaison correspond un PSE (Product Sale Element), qui a un stock, un prix, un  statut nouveauté, promo, etc.

l'ID du PSE fait partie des données nécessaires à la mise au panier d'un  produit.

Ça implique que pour pouvoir mettre un produit au panier, il faut choisir une ou plusieurs déclinaisons pour désigner la combinaison associée (le PSE, donc).

Et pour choisir la combinaison, il faut proposer au client une combinaison de déclinaisons qui existe. C'est la fonction du plugin jQuery pseManager qui figure dans thelia.js

Mais tu peux tout à fait faire la même chose en gérant le contenu des selects des déclinaisons en Ajax, afin de toujours proposer une combinaison qui existe.

J'espère avoir été clair...


OpenStudio Toulouse

Offline


En fait j'ai déjà créé des combinaisons de déclinaison, et cela s'affiche bien comme il faut sur la page produit.
J'ai 2 options avec 3 choix.
Mais le code montré ci-dessus sur la page catégorie me met 2 listes identiques telles que :
- option 1 choix 1
- option 2 choix 1
- option 1 choix 2
- option 2 choix 2
- option 1 choix 3
- option 2 choix 3
- etc...

Offline


Oui, j'ai bien compris.

Sur la page produit, c'est le plugin jQuery "pseManager" qui gère la mise à jour des select. C'est pour ça que ça marche sur la page produit.

Mais sur la page catégorie, le plugin jQuery "pseManager" ne peut pas marcher. Il faut donc que tu coder quelque chose pour reproduire le comportement des select de la page produit.


OpenStudio Toulouse

Offline


ok Roadster31. Merci beaucoup pour ces directives