Smarty Forum Index Smarty
WARNING: All discussion is moving to https://reddit.com/r/smarty, please go there! This forum will be closing soon.

[Résolu]Récupérer la valeur de counter

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Smarty Forum Index -> Language: French
View previous topic :: View next topic  
Author Message
lan19
Smarty Rookie


Joined: 18 Mar 2011
Posts: 12

PostPosted: Fri Mar 18, 2011 9:16 pm    Post subject: [Résolu]Récupérer la valeur de counter Reply with quote

Bonjour,
J'ai crée une page facture.tpl qui affiche des factures. Une boucle parcours la table des commandes et vérifie si une facture est disponible.
Dans un tableau chaque facture est affichée sur une ligne numérotée
(Le compteur initié par counter fonctionne bien).
Seulement je veux juste récupérer la valeur du compteur quand la boucle est terminée afin de mettre une phrase : Vous avez X factures.

J'ai tenté d'afficher le compteur dans une balise <p> mais il m'incrémente le résultat de +1, ce qui est faux.

Je ne sais pas comment faire autrement . Peut-on m'aider ?

Code:

      {counter name=countinvoice start=1 skip=1 assign=countorders}
      {foreach from=$orders item=order name=myLoop}
            {if $order.valid >=1}
                  {counter}
                  {if $order.id_order|intval == 0}
                     {l s='No invoice edited.'}
                  {/if}
                  {dateFormat date=$order.date_add full=0}
                  {if $order.total_paid_real|intval == 0}
                     -
                  {else}               
                        {displayPrice price=$order.total_paid_real currency=$order.id_currency no_utf8=false convert=false}
                  {/if}
                  {$order.payment|escape:'htmlall':'UTF-8'}
                  {$order.order_state|escape:'htmlall':'UTF-8'}
            {/if}
      {/foreach}
                <p>Vous avez: {counter} factures</p>


Last edited by lan19 on Wed Mar 23, 2011 8:13 am; edited 1 time in total
Back to top
View user's profile Send private message
matmoch
Smarty Rookie


Joined: 11 Mar 2011
Posts: 6

PostPosted: Tue Mar 22, 2011 2:43 pm    Post subject: Reply with quote

Et si tu faisais partir ton counter de 0 ce serait mieux je pense car tu l'incrémente en fin de boucle donc à ta dernière facture ça te met un +1 en trop.
Sinon ce que tu peut faire c'est un count de ton tableau dans ta partie php tu récupère ça dans une variable nb que tu assign à ton template derrière du coup tu met:

Code:
Vous avez {$nb} facture.
Back to top
View user's profile Send private message
lan19
Smarty Rookie


Joined: 18 Mar 2011
Posts: 12

PostPosted: Tue Mar 22, 2011 3:13 pm    Post subject: Reply with quote

Bonjour et merci d'avoir répondu.
Comment je fais le count ?
Back to top
View user's profile Send private message
matmoch
Smarty Rookie


Joined: 11 Mar 2011
Posts: 6

PostPosted: Tue Mar 22, 2011 3:20 pm    Post subject: Reply with quote

Il te suffit de faire dans ta partie php un petit $nb = count($tab); avec dans ton $tab ton tableau de factures.
Back to top
View user's profile Send private message
lan19
Smarty Rookie


Joined: 18 Mar 2011
Posts: 12

PostPosted: Tue Mar 22, 2011 4:34 pm    Post subject: Reply with quote

Oui, effectivement cela fonctionne comme cela, mais ca compte toutes les commandes (car cest un tableau de commande que j'ai fait) et pas les factures validées.

Du coup j'ai fait un :
Code:
{assign var='NberLineInvoice' value=$NberLineInvoice+$countorders}

inséréé après:
Code:
{if $order.valid >=1}

et j'affiche le nombre de factures validées par :
Code:
{$NberLineInvoice}


Ca fonctionne comme je veux.
Pensez-vous que c'est propre comme code ?
Back to top
View user's profile Send private message
matmoch
Smarty Rookie


Joined: 11 Mar 2011
Posts: 6

PostPosted: Wed Mar 23, 2011 8:04 am    Post subject: Reply with quote

Pour ma part je trouve ça correcte j'aurai fait de la même façon et puis ça marche c'est donc bon d'après moi. Very Happy
Back to top
View user's profile Send private message
lan19
Smarty Rookie


Joined: 18 Mar 2011
Posts: 12

PostPosted: Wed Mar 23, 2011 8:13 am    Post subject: Reply with quote

Bonjour,
Très bien. Je vous remercie énormément de m'avoir consacré de votre temps pour m'aider. Problème donc résolu.
Back to top
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Smarty Forum Index -> Language: French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group
Protected by Anti-Spam ACP