Alex,

Assim como você deve evitar escrever lógica em ZPT, não use scripts python para fazer apresentação.  É mais complicado e sujeito a erros.  Use cada ferramenta de acordo com sua destinação.

Zénrique.

Em 24/02/06, alexpiaz <[EMAIL PROTECTED]> escreveu:
OI Ze Henrique!

Valeu, eu entendi a coisa....Eh um pequeno "refactoring" mas acho que
é que dá pra fazer não?

Outra coisa que fiz foi criar tudo em python, rolou beleza, mas quando
chamo o script pelo ZPT ele traz o html todo na tela, em vez de
renderizar...

Eu vou montar no esquema que voce sugeriu e qq coisa eu grito aqui na
lista!

Valeu mesmo, bom carnaval pra vc e pra todos os zopeanos!

[]'s

Alex

--- Em zope-pt@yahoogrupos.com.br, "José Henrique" <[EMAIL PROTECTED]> escreveu
>
> Bem-vindo ao mundo dos page templates com seus escopos restritos às tags
> onde as variáveis são definidas.  :-)  Para entender o que está
acontecendo,
> coloque o seguinte texto antes de <p tal:content="dados/nome" />:
>
> Tipo: <p tal:content="tipo" />
>
> Você verá que, tão logo fecha o span que redefine a variável tipo, ela é
> mandada para o espaço.
>
> Minha sugestão: utilize um script python para reestruturar os
resultados do
> seu zsql, passando de uma forma de registros para outra de uma lista de
> listas com dicionários.  Assim, o que antes era:
>
> tipo|nome|endereco
> A|Jose|[EMAIL PROTECTED]
> A|Mario|[EMAIL PROTECTED]
> B|Fabio|[EMAIL PROTECTED]
> B|Chico|[EMAIL PROTECTED]
> C|Andre|[EMAIL PROTECTED]
>
> ficaria assim:
>
> [['A',{'nome':'Jose',' endereco':'[EMAIL PROTECTED]'},{'nome':'Mario','
> endereco':'[EMAIL PROTECTED]'}],
>  ['B',{'nome':'Fabio','endereco':'[EMAIL PROTECTED]'},{'nome':'Chico','
> endereco':'[EMAIL PROTECTED]'}],
>  ['C',{'nome':'Andre','endereco':'[EMAIL PROTECTED] ...'}]]
>
> E seu page template ficaria assim:
>
> <span tal:repeat="dados container/sql/GetDados">
>     <span tal:repeat="item dados">
>         <span tal:condition="repeat/item/start">  <!--  Executa
apenas para
> o primeiro item da lista -->
>             <p tal:content="item" />
>         </span>
>         <span tal:condition="not: repeat/item/start"> <!--  Executa
apenas
> para os demais -->
>             <p tal:content="item/nome" />
>         </span>
>     </span>
> </span>
>
> Não há como evitar totalmente a introdução de alguma lógica em um
ZPT (eu
> pelo menos não consegui ainda), mas o ideal é utilizar o mínimo
possível,
> para não tornar suas páginas difíceis de ler.
>
> Zénrique.
>
> Em 24/02/06, alexpiaz <[EMAIL PROTECTED] ...> escreveu:
> >
> > Pessoal,
> >
> > Tenho uma tabela que retorna os seguintes dados:
> >
> > tipo|nome|endereco
> > A|Jose|[EMAIL PROTECTED]
> > A|Mario|[EMAIL PROTECTED] ...
> > B|Fabio|[EMAIL PROTECTED]
> > B|Chico|[EMAIL PROTECTED]
> > C|Andre|[EMAIL PROTECTED]
> >
> > Eu preciso exibir os dados assim em uma page template:
> >
> > A
> > Jose
> > Mario
> > B
> > Fabio
> > Chico
> > C
> > Andre
> >
> > Eu sei a logica de fazer, o pseudo codigo seria assim (exemplo em
python)
> >
> > letra = ''
> >
> > for linha in tabela:
> >     if linha.tipo != letra:
> >         letra = linha.tipo
> >         print letra
> >     print nome
> >     print email
> >
> > Bom, eu preciso transpor isso pra ZPT, tentei fazendo assim:
> >
> > <span tal:define="tipo python:''">
> > <span tal:repeat="dados container/sql/GetDados">
> >     <span tal:condition="python:tipo != dados.tipo">
> >         <span tal:define="tipo dados/tipo">
> >           <p tal:content="tipo" />
> >         </span>
> >         <p tal:content="dados/nome" />
> >     </span>
> >
> > Só que não funciona!!!
> >
> > Ele fica repetindo pra cada linha o tipo...EU sou cru em zpt, talvez
> > tenha alguma outro macete.
> >
> > Alguem se habilita a dar uma dica??
> >
> > []'s a todos e bom carnaval!!!
> >
> > Alex
> >
> >
> >
> >
> >
> >
> > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> > Para desistir envie uma mensagem em branco para:
> > [EMAIL PROTECTED]
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
>






Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/zope-pt/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html







Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]



Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE


Links do Yahoo! Grupos

Responder a