From: Andreas Jung <[EMAIL PROTECTED]>

>> - --On 8. Dezember 2006 10:38:25 -0800 Javier Subervi
>> <[EMAIL PROTECTED]> wrote:
>>> <html>
>>> But when I try to make it work in an External Method like this:
>>>   stuff = '<html>\n'
>>>   stuff = stuff + '<body>\n'
>>>   stuff = stuff + '<table width="100%" align="center" class="text"
>>> border="3" cellspacing="5" bgcolor="#E694FE" bordercolor="#D24BFA"
>>> bordercolorlight="#DD77FB" bordercolordark="#C512FA"><tr><td>\n'   stuff
>>> = stuff + '<span
>>> metal:use-macro="here/en-us/Quotes/10/macros/quote"></span><br />\n'
>>> stuff = stuff + '<div align="center"><span class="text">\n'
>>>   stuff = stuff + ' <a href="All_Quotes.pt" target="_top"><b>Show me all
>>> the quotes!</b></a>\n'   stuff = stuff + '</span></div>\n'
>>>   stuff = stuff + '</td></tr></table>\n'
>>>   stuff = stuff + '</body>\n'
>>>   stuff = stuff + '<html>\n'
>> An external method is not a ZPT. The external method returns just HTML.
>> Why  and how should Zope treat interpret *something* inside the HTML
>> generated  by the external method as macro? If you want a macro, the
>> called object has  to be a ZPT - nothing else.
>> - -aj
>If you want something different: you must instantiate a Pagetemplate inside
>your external method, add the content through the related API and let the 
>pagetemplate render the content. But there is usually no need for such an 
>approach. Somehow you're trying to do something the wrong way round.

What I'm trying to do is change the line in question to this:

  stuff = stuff + '<span metal:use-macro="here/en-us/Quotes/' + `randrange(1, 
len(self.objectValues()), 1)` + '/macros/quote"
></span><br />\n'
So it generates a random number. Now, that's the "easy" scenario, and for that 
I originally had just a Page Template. However, next up I need to be able to 
accommodate another folder which requires:

1) walking the folder, opening each subfolder
2) creating a tuple of the folder (or numerical representation) plus the number 
of the quote
3) randomly choosing a quote from all the subfolders

Ideas? Perhaps I should instantiate a page template in the ext. method. How 
would I do that?

Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail beta.
Zope maillist  -  Zope@zope.org
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to