[Frank Tegtmeyer]
<mbagepll@memphis.edu> writes:
<dtml-in expr="Python_script()"> <li> <dtml-var text> </li> </dtml-in>
with <dtml-var sequence-item> you get the elements of your list. If these elements have attributes that you want to access then DTML provides them directly with their name. Suppose you have list elements with the attributes name and price you would use:
<dtml-in expr="Python_script()"> <dtml-if sequence-start> <ul> </dtml-if> <li><dtml-var name>: <dtml-var price></li> <dtml-if sequence-end> </ul> </dtml-if> <dtml-else> <p>Sorry, nothing found.</p> </dtml-in>
Frank, I'm going take exception to your way of using "if" statements separately around start and end tags (I mean the <ul> tags). It's true that it works here, but it's better not to produce unbalanced parts in a markup element in separate and uncoordinated places. If you were to try to port this to something written in xml, where the tags have to nest properly, for example, it wouldn't work. I'm suggesting that it is a good idea to try produce things that have to be balanced in a balanced way, even though it may not be strictly necessary. It will be better in the long run, and less prone to error if something doesn't work as expected inside statement blocks. <ul> tags have to be balanced. In this case, it oculd be done like this: <ul> <dtml-in expr="Python_script()"> .... </dtml-in> </ul> If you don't want to have the possiblity of an empty <ul> element, you could write <dtml-let List=Python_script> <dtml-if List> <ul> <dtml-in List> ... </dtml-in> </ul> </dtml-if> </dtml-let> Cheers, Tom P