From: Andreas Jung <[EMAIL PROTECTED]>
>> - --On 8. Dezember 2006 10:38:25 -0800 Javier Subervi
>> <[EMAIL PROTECTED]> wrote:
>>> 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"
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 -