[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