THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

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

Offline


Bonjour,
j'aimerais me faire un tableau regroupant les produits commandés.
Je veux dire additionner la quantité pour le produit x si il est dans la commande y ainsi que dans la commande z.
Voila ce que j'ai pour le moment

{loop name="order_cde" type="order" id=$order_id|default:null customer="*" status="2"}
    {loop type="order_product" name="order_products_cde" order=$ID id=$PRODUCT_ID|default:null}
        <tr>
            <td>{$PRODUCT_ID}</td>
            <td>{$REF}</td>
            <td>{$TITLE}</td>
            <td>{$QUANTITY}</td>
         </tr>
    {/loop}
{/loop}     

J'ai essayé avec des count mais c'est peut être pas avec ça qu'il faudrait procéder.

Une idée de comment je dois m'y prendre ?

Last edited by vz777 (13-02-2023 17:24:01)

Offline


Dans la boucle order_product, un truc du genre devrait faire la blague

{if $REF == 'ref_du_produit'}{$num = $num + $QUANTITY}{/if}

Pour bien faire, tu peux initialiser $num avant la boucle order :

{$num = 0}

OpenStudio Toulouse

Offline


Merci, ton code fonctionne (forcément) très bien, si je renseigne la valeur en dur, e.g. : 06-157

Cependant, ce que je n'arrive pas à faire c'est automatiser le calcul pour chaque produit.
Par exemple, mais qui ne risque pas de fonctionner en l'état, si $REF == $REF

J'ai l'impression, sans certitudes, qu'il faudrait utiliser foreach ?

J'ai essayé beaucoup de choses qui ne ressemble à rien, notamment d'inverser mes boucles, cad de commencer par une loop product,
car ce qui m'interesserait c'est d'avoir un tableau qui m'indique seulement le titre et la quantité que j'ai à préparer.

Offline


Avant la boucle order :

{$num = []}

Dans la boucle order_product :

{if ! isset($num[$TITLE])}
    {$num[$TITLE] = $QUANTITY}
{else}
    {$num[$TITLE] = $num[$TITLE] + $QUANTITY}
{/if}

Pour afficher les totaux :

<ul>
 {foreach from=$num key=title item=nombre}
   <li>{$title} : {$nombre}</li>
{/foreach}
</ul>

OpenStudio Toulouse

Offline


Merci Franck