On Tuesday 25 January 2011, Giuseppe Arvati wrote: > Ciao a tutti, > > portate pazienza ma sono molto ignorante. > Vorrei fare un casa che all'apparenza mi sembra molto semplice > ma che in realtà non capisco bene come realizzarla > > ho un pt che visualizza una tabelle con dati estratti da un db > in fondo alla tabella verrei mettere un totalizzatore di un campo > > pensavo di > 1) inizializzare a 0 un variabile prima del loop che crea le righe > 2) incrementarla dentro il loop > 3) visualizzare il totale in fondo alla tabella > > Qualcosa del tipo > > <span tal:define="totale python:0"/> > > <table class="grid listing"> > <tr> > <th>Media</th> > </tr> > <tr tal:repeat="my_row here/getSMT_py"> > <td><span tal:content="my_row/MEDIA">-0:30</span></td> > <span tal:define="totale python:(totale + my_row/MEDIA)"/> > </tr> > > <span tal:content="totale">000</span> > > </table> > > > non so se l'approccio è giusto ma non funziona > > Plone/zope riesce sempre a demoralizzarmi, non mi riescono anche > le cose più semplici :-( > > Ogni aiuto è gradito > > grazie del supporto > > Giuseppe
A parte gli errori nel codice:
<span tal:define="totale python:0"/>
se chiudi subito lo scope la variabile non è visibile nei tag sotto
(puoi mettere però la key 'global')
python:(totale + my_row/MEDIA) -> my_row.MEDIA
hai usato una path expression all'interno di una espressione python.
il problema è che queste operazioni non devono essere fatte nel template ma in
uno script separato, meglio ancora in una browser view.
Il motivo è che in questo modo si semplifica il testing e il debugging.
Lo script dovrebbe quindi implementare la logica, leggendo da DB,
riformattando i dati ed eventualmente facendo "i conti".
Il template chiama lo script e visualizza i dati preparati (e basta).
--
Riccardo Lemmi Email: [email protected]
Reflab S.r.l. - Plone Design, Development and Consulting
Phone: +39 349 4620820 http://www.reflab.com
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Plone-IT mailing list [email protected] https://lists.plone.org/mailman/listinfo/plone-it http://www.nabble.com/Plone---Italy-f21728.html
