Antes de mais nada, Obrigado! Resolveu o problema!
Mas ficou uma duvida na seguinte linha: <table tal:replace="structure context/teu_hammer_script" /> O 'tal:replace' eu entendi, mas como o structure funciona? O que na prática ele faz é evitar que aparecam caracteres < e > (não estava havendo renderização do resultado antes, mas agora renderiza ok). Ou seja, o que o structure faz? E por último... mas não é o fim... temos: <table tal:define="objetos context/objectValues"> <tr tal:repeat="objeto objetos"> <td tal:content="objeto/Title">Titulo</td> </tr> </table> Não é possivel colocar no lugar de objectValues uma lista vinda de um script python que possa ser acessada pelo indice? Como por exemplo: <table tal:define="objetos context/lista_de_strings_python"> <tr tal:repeat="objeto objetos"> <td tal:content="objeto[0]">Titulo</td> </tr> </table> onde objeto[0] seria a primeira string da lista de strings. Isto não poderia funcionar? Que código funcionaria se não este? Grato antecipado, João --------------------------------------------------------------- --- Em zope-pt@yahoogrupos.com.br, "Rodrigo Castardo" <[EMAIL PROTECTED]> escreveu > > 2008/4/14 jgbalb <[EMAIL PROTECTED]>: > > > > Senhores, > > Opa! > > > tenho um script python que me devolve uma tabela em html > > (<TABLE>) com conteudos nos TD´s (<td>). Preciso que esta tabela > > apareça em uma página Plone. Como posso fazer isto? > > > Bom, conceitualmente sua tabela deve ser exibida por um template (Page > Template, vc vai ver mta gente tratando como ZPT). E nele eh q deveriam ser > exibidas as informacoes. > > Nao misture a camada de exibicao (seu futuro template) como o a camada > logica, seu script. O script foi feito apenas para fazer logica, e nao para > aprensentar conteudo okay? > > No seu template, vc resolve isso facil com o seguinte: > > <table tal:define="objetos context/objectValues"> > <tr tal:repeat="objeto objetos"> > <td tal:content="objeto/Title">Titulo</td> > </tr> > </table> > > onde: > > - tal:define - define variaveis > - context/objectValues eh a lista de valores que vc deseja iterar > - tal:repeat - eh o loop > - tal:content - preenche a tag HTML onde estah contido (no caso a td), > pela expressao que recebe (objeto/Title no caso) > > Detalhe importante, nao use objectValues, ele instancia todos os objetos > listados, isso eh caro pro Zope (App Server)! > > Se estiver naquele famoso "um dia de furia" e mesmo assim quiser descer a > loja de marreta ... ai teu script retorna a tabela e no teu template vc dah > um: > > <table tal:replace="structure context/teu_hammer_script" /> > > onde: > replace substitui a tag HTML onde estah contido (table no caso), pelo > resultado da expressao recebida > > O structure aqui eh para reenderizar teu HTML e nao exibir ele como strings. > > Lembrando que isto nao deve ser feito! (mas jah ouvo o barrulho da marreta > rs) > > Se nao souber como colocar seu template com aquela cara Plone: > > <html metal:use-macro="context/main_template/macros/master"> > > <body metal:fill-slot="main"> > > seu codigo aqui > > </body> > > </html> > > Mas macros (caso vc ainda nao conheca) eu deixo pra vc aprender sozinho ;) > > Boa sorte, abraco! > > > Grato antecipadamente, > > > > João > > > > > > > > -- > Castardo > ThreePointsWeb > [EMAIL PROTECTED] > +55 61 8162-2072 >