On Tue, Oct 19, 2004 at 12:10:37PM -0700, David Reid wrote:
On Tue, 2004-10-19 at 02:51, Andrew Bennetts wrote:
TAL does allow this, in two ways (that I know of):
First, there's the hackish way:
They're both hackish ways in my opinion, and the latter Another alternative is for the alternative syntax to not even support such behavior, and only be for the general case which would look something like this:
<a nevow:attributes="href=link alt=label"><nevow:slot name="label" /></a>
(Looks an aweful lot like mg's attr.tac example, doesn't it?)
Firstly, I really don't know Nevow, I just lurk on the discussions about it. I mention ZPT from time-to-time mainly out of selfishness: it would be easier for me to learn Nevow if it were more like ZPT ;) Now, on to the reply... mg's attr.tac has this in the template: <ul nevow:data="links" nevow:render="sequence"> <li nevow:pattern="item" nevow:render="link"><a href="#" nevow:render="attribute href=link,alt=label"><nevow:slot name="label">label</nevow:slot></a></li> </ul> I don't see what this does that is different to: <ul tal:repeat="linkinfo context/links"> <li><a href="#" tal:attributes="href linkinfo/link; label linkinfo/label"/></li> </ul> Although I don't totally understand why mg's attr.tac has a nevow:slot tag for label and not link, as far as I can tell the ZPT I give here is equivalent in concept. Explanations and/or corrections welcome! Of course, my ZPT examples requires that the code would require there to be a linkinfo class, e.g. class LinkInfo: def __init__(self, link, label): self.link = link self.label = label And context/links would just be a list of these. I don't see this as being any more complex than what attr.tac does, though. If nothing else, I hope this discussion can serve as the basis for a "Nevow for ZPT users" tutorial. -Andrew.