Il 25/01/2011 10.17, Riccardo Lemmi ha scritto:
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.
Grazie
sto provando le modifiche suggerite ma mi da ancora errore
<span tal:define="global 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>
errore
* Module Products.PageTemplates.ZRPythonExpr, line 49, in __call__
__traceback_info__: (totale + my_row.MEDIA)
* Module PythonExpr, line 1, in <expression>
AttributeError: 'dict' object has no attribute 'MEDIA'
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).
Hai ragione, appena la confusione si è dipanata lo sistemo in modo
più model-view-controller
era giusto per provare le TAL
Giuseppe
_______________________________________________
Plone-IT mailing list
[email protected]
https://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html