[Zope] Increment In PT?

tonylabarbara at aol.com tonylabarbara at aol.com
Mon Jul 30 15:00:52 EDT 2007


This is the code that I have:
      <span tal:repeat="bitem_id bitem_ids" tal:omit-tag="">
        <span tal:define="bitem python:here.basketItemManager.getItem(bitem_id);
                          item python:here.marketItems.getItem(bitem.marketItemId)"
              tal:omit-tag="">



This is the code that I would like to write:
      <span tal:repeat="bitem_id bitem_ids" tal:omit-tag=""
            """for each new bitem_id increment x""">
        <span tal:define="bitem python:here.basketItemManager.getItem(bitem_id);
                          item python:here.marketItems.getItem(bitem.marketItemId)"
              tal:omit-tag="">


How can I do that?
TIA,
Tony

-----Original Message-----
From: tonylabarbara at aol.com
To: jhreis at gmail.com; zope at zope.org
Sent: Mon, 30 Jul 2007 2:30 pm
Subject: Re: [Zope] Increment In PT?




It's complaining that:

Error Type: TypeError
Error Value: string indices must be integers


I tried back ticks and that still gave the same error.
TIA,
Tony


<tal:loop repeat="item bitems">
    <input type="hidden" tal:attributes="value item/name; name string:item_name_${repeat/item/number}">
    <input type="hidden" tal:attributes="value item/id; name string:item_number_${repeat/item/number}"> 
</tal:loop>




-----Original Message-----
From: José Henrique <jhreis at gmail.com>
To: zope at zope.org
Sent: Mon, 30 Jul 2007 2:07 pm
Subject: Re: [Zope] Increment In PT?


Try this way:

<tal:loop repeat="item bitems">
    <input type="hidden" tal:attributes="value item/name; name string:item_name_${repeat/item/number}">
    <input type="hidden" tal:attributes="value item/id; name string:item_number_${repeat/item/number}"> 
</tal:loop>

Zenrique.


2007/7/30, Peter Bengtsson <peter at fry-it.com>: 
You should now have all the parts.
Instead of iterating over python:range(1000) do it on bitem_ids instead.

You don't have to use a <br /> tag. You can use
<input tal:attributes="value iter/number" /> 
if you want.
You increment it by calling tal:iter/next whichever way you do it.

tonylabarbara at aol.com wrote:
> 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 <mailto: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 
> <http://www.aol.com/?ncid=AOLAOF00020000000437>>.
>  > > >
> ------------------------------------------------------------------------ 
>  > > _______________________________________________
>  > Zope maillist - Zope at zope.org <mailto: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 <http://www.fry-it.com/>
> home www.peterbe.com < http://www.peterbe.com/>
> hobby www.issuetrackerproduct.com <http://www.issuetrackerproduct.com/>
> ------------------------------------------------------------------------ 
> 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 >.

--
Peter Bengtsson,
work www.fry-it.com
home www.peterbe.com
hobby www.issuetrackerproduct.com 
_______________________________________________
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 )






_______________________________________________
ope maillist  -  Zope at zope.org
ttp://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 )


AOL now offers free email to everyone. Find out more about what's free from AOL at AOL.com.




_______________________________________________
ope maillist  -  Zope at zope.org
ttp://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 )


________________________________________________________________________
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/5aa5f30d/attachment.htm


More information about the Zope mailing list