I have a ZPT page where I need to create two sections that both iterate off of the same query. The query can be long, so I'd strongly prefer to run it once. No problem, I thought - just define it in an outer <div> tag - I've done that on lots of other pages. However, on this page, each of the two "inner" sections are defined as fill-slots for an overall template. Here's a rough idea of the structure: <html metal:use-macro="myTemplate"> <body> <!-- This is the very slow query --> <div tal:define="results here/someQuery"> <div metal:fill-slot="leftside"> <table> <tr tal:repeat="res results"> ... </tr> </table> </div> <div metal:fill-slot="rightside"> <table> <tr tal:repeat="res results"> ... </tr> </table> </div> </div> </body> </html> When this page is displayed, however, I get an error that "results" is not defined, and it points to the line with the first tal:repeat statement. I tried adding the 'global' keyword to the tal:define, but it made no difference. I'm guessing that the full page isn't being evaluated as it appears, but rather each of the slots is evaluated separately. Is that correct? If so, is there an alternative to having to define the "results" twice (once for each slot)? ___/ / __/ / ____/ Ed Leafe http://leafe.com/ http://opentech.leafe.com