[Zope] Increment In PT?
tonylabarbara at aol.com
tonylabarbara at aol.com
Mon Jul 30 13:47:15 EDT 2007
I would think this should be pretty easy in the PT itself, given what you've shared so far. But I'm still not quite there. Here's what I've got:
<span tal:repeat="bitem_id bitem_ids" tal:omit-tag="">
<div tal:define="iter python:modules['ZTUtils'].Iterator(range(1000))">
<br tal:define="x iter/next" tal:replace="iter/number" />
Now, I don't really want that <br /> tag there, because it's printing a number to screen that I don't want there. However, it only prints the number "1" twice, once for each product, when it should print 1 then 2, I would think. (I presume I should just take the tal:replace out and leave the definition, but it's still not incrementing!) Later in the script I have this:
<input type="hidden" tal:attributes="value item/name; name python:'item_name_' + `x`">
<input type="hidden" tal:attributes="value item/id; name python:'item_number_' + `x`">
and other similar lines. What I'm trying to effectuate is that the "x" gets replaced with an incremented number. Can you help just a little more?
TIA,
Tony
-----Original Message-----
From: Peter Bengtsson <peter at fry-it.com>
To: tonylabarbara at aol.com
Cc: zope at zope.org
Sent: Mon, 30 Jul 2007 1:32 pm
Subject: Re: [Zope] Increment In PT?
You can use the ZTUtils Iterator()
<div tal:define="iter python:modules['ZTUtils'].Iterator(range(1000))">
<br tal:define="dummy iter/next" tal:replace="iter/number" />
<br tal:define="dummy iter/next" tal:replace="iter/number" />
<br tal:define="dummy iter/next" tal:replace="iter/number" />
</div>
Which might give you some freedom such as iter/Roman or iter/odd
The above is practically the same as:
<br tal:repeat="i python:range(3)" tal:replace="i" />
Generally, if you can, use a Python Script or something. The Iterator is/was used in Plone templates to increment the tab index.
tonylabarbara at aol.com wrote:
> Hi;
> I´m trying to increment a variable in a page template. Here´s the > general idea in my code:
> > <div metal:define-macro="main" tal:define="x python:0">
> > <tal:block tal:define="x python:x + 1">
> <td>
> <input type="hidden" tal:attributes="value item/name; name > python:'item_name_' + `x`">
> > > Now, all of that works...once. That is, it increments from 0 to 1, but > not from 1 to 2! Each time I pass through the td element, I need it to > increment. I tried putting the tal definition in the td, but then it > didn´t even increment once! What do?
> TIA,
> Tony
> ------------------------------------------------------------------------
> AOL now offers free email to everyone. Find out more about what's free > from AOL at *AOL.com* <http://www.aol.com?ncid=AOLAOF00020000000437>.
> > > ------------------------------------------------------------------------
> > _______________________________________________
> Zope maillist - Zope at zope.org
> http://mail.zope.org/mailman/listinfo/zope
> ** No cross posts or HTML encoding! **
> (Related lists - > http://mail.zope.org/mailman/listinfo/zope-announce
> http://mail.zope.org/mailman/listinfo/zope-dev )
-- Peter Bengtsson,
work www.fry-it.com
home www.peterbe.com
hobby www.issuetrackerproduct.com
________________________________________________________________________
AOL now offers free email to everyone. Find out more about what's free from AOL at AOL.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.zope.org/pipermail/zope/attachments/20070730/61292426/attachment.htm
More information about the Zope
mailing list