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 faire afficher pour un produit donné, les declinaisons en stock d'abord
dans la boucle actuelle de type attribute pas possible

                    {if $pse_count > 1}
                        {* We have more than 1 combination: custom form *}
                        <fieldset id="pse-options" class="product-options">
                            {loop name="attributes" type="attribute" product="$product_id" order="manual"}
                            <div class="option option-option">
                                <label for="option-{$ID}" class="option-heading">{$TITLE}</label>
                                <div class="option-content">
                                    <select id="option-{$ID}" name="option-{$ID}" class="form-control pse-option" data-attribute="{$ID}"></select>
                                </div>
                            </div>
                            {/loop}
                            <div class="option option-fallback">
                                <label for="option-fallback" class="option-heading">{intl l="Options"}</label>
                                <div class="option-content">
                                    <select id="option-fallback" name="option-fallback" class="form-control pse-option pse-fallback" data-attribute="0"></select>
                                </div>
                            </div>
                        </fieldset>
                    {/if}

je ne voie pas comment, une piste idee, la je seche sad ?

Offline


Tu fais 2 boucles, la première affiche les produits en stock, la seconde les autres.


OpenStudio Toulouse

Offline


heuu ok
mais dans la boucle je tri comment les produits en stock ? c'est la que je bloque

Offline


Un truc genre {if $STOCK > 0}


OpenStudio Toulouse

Offline


apres une pause cafe (pour les neurones)
j'ai modifie comme suite:

{form_field form=$form field='product_sale_elements_id'}
{loop name="order_pse_quantity" type="product_sale_elements" product="{$ID}" order="quantity_reverse" limit="1"}
<input id="pse-id" type="hidden" name="{$name}" value="{$ID}" {$attr} >
{/loop}
{/form_field}

{if $pse_count > 1}
    {* We have more than 1 combination: custom form *}
    <fieldset id="pse-options" class="product-options">
        {loop name="attributes" type="attribute" product="$product_id" order="manual"}
        <div class="option option-option">
            <label for="option-{$ID}" class="option-heading">{$TITLE}</label>
            <div class="option-content">
                <select id="option-{$ID}" name="option-{$ID}" class="form-control pse-option" data-attribute="{$ID}"></select>
            </div>
        </div>
        {/loop}
        <div class="option option-fallback">
            <label for="option-fallback" class="option-heading">{intl l="Options"}</label>
            <div class="option-content">
                <select id="option-fallback" name="option-fallback" class="form-control pse-option pse-fallback" data-attribute="0"></select>
            </div>
        </div>
    </fieldset>
{/if}

j'ai rajoute au debut cette boucle

{loop name="order_pse_quantity" type="product_sale_elements" product="{$ID}" order="quantity_reverse" limit="1"}
....

comme le javascript par defaut affiche le produit indique dans le input id="pse-id"