João,O structure transforma o conteúdo vindo daquela variável para que seja 
interpretado como um código HTML. É uma transformação de string e não uma 
"renderização" como você colocou em sua dúvida.
 
Comentando a sua última dúvida, saiba que é possível sim. Quando você acessar 
objeto[0], e este for uma string, você estará acessando a primeira letra. O 
erro do seu código é que você esqueceu de colocar "python:" quando utilizou o 
comando Python. Isso é um erro básico... Mais uma vez reforço minha sugestão 
para que leia a documentação do ZPT :)
 
Jorge Guimarães


To: [EMAIL PROTECTED]: [EMAIL PROTECTED]: Mon, 14 Apr 2008 18:30:07 
+0000Subject: [zope-pt] Re: Como faço para exibir conteudo mostrado por um 
script python em uma página Plone




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 &lt; e &gt; (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> 






_________________________________________________________________
Cansado de espaço para só 50 fotos? Conheça o Spaces, o site de relacionamentos 
com até 6,000 fotos!
http://www.amigosdomessenger.com.br

Responder a