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

Attachment: 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

Rispondere a