Fred, isso é simples.

Vamos imaginar o seguinte esquema.
2ZPT, 2ZSQL, 1ScriptPy

ZPT1 > Onde o usuário e senha, irá ser informado para pesquisa e irá 
enviar as informações para o ZPT2
ZPT2 > É onde tudo acontece.
1Script Python > Irá verificar e redirecionar.
ZSQL > São as consultas que você precisa.

Agora vamos la:
No ZPT1 crie os campos de entrada dados e envie esses dados para o ZPT2.
Assim:
<form method="post" action="zpt2">
   <input type="text" name="usuario" id="usuario"/>
   <input type="text" name="senha" id="senha"/>
</form>

No ZPT2 pegue esses valores, execute o script python e faça a consulta 
ZSQL para preencher os campos do form:
Assim:
<html>
   <head>
      <title tal:content="template/title_or_id">Title</title>
  </head>
<body tal:define="usuario request/usuario | nothing;
                            senha request/senha | nothing;
                            script_py 
python:context.script_py(usuario=usuario, senha=senha);
                            zsql python:context.zsql(usuario=usuario, 
senha=senha) or [1,];">

<form method="." action="." tal:repeat="items zsql">
   Nome: <input type="text" name="nome" id="nome" tal:attributes="value 
items/nome | nothing"/>
   Endereco: <input type="text" name="endereco" id="endereco" 
tal:attributes="value items/endereco | nothing"/>
</form>

</body>
</html>
               
Obs: Vc irá conseguir usar esse msm ZPT2 tanto para inclusão como para 
update.

Script Python:
##parameters=usuario, senha
#Aqui é onde vc irá testar se existe o usuario e senha usando o ZSQL1; 
Se existir o ZPT2 será exibido com as informações preenchidas nos input, 
se não redireciona novamente para o ZPT1 com a mensagem de "usuário não 
encontrado".

Espero que entenda o esquema, qquer coisa estou no msn: 
fernandopaiva_br[AT].yahoo.com.br ou no canal irc #zope-pt no freenode.net

Boa sorte!

[]'s
Fernando Paiva


Fred escreveu:
> Bem, não é isso..
> passo como parametro o id do cara (url/pesquisa?id=2)
> Como pego esse parametro e passo na chamada do zsql
> <tal:sql repeat="item context/meu_zsql">
> Eu tenho um sql +/- assim:
>  
> Select * from pessoas where id = <dtml-sqlvar id type=int>
>  
> quero pegar esse retorno e preencher o formulário. Não estou 
> conseguindo fazê-lo na chamada dentro da page template. Tem alguma tag 
> tipo <sql:param value="x"> para passar como parametro de pesquisa?
>  
> Att.,
> Fred
>
> ----- Mensagem original ----
> De: Dorneles Treméa <[EMAIL PROTECTED]>
> Para: zope-pt@yahoogrupos.com.br
> Enviadas: Quinta-feira, 8 de Março de 2007 19:31:58
> Assunto: Re: [zope-pt] Dúvida de iniciante (oreia)
>
> Opa Fred,
>
> > Pessoal, passei um longo tempo sem mexer com PZP e voltei a mexer esses
> > dias atrás, to querendo saber o seguinte.
> > Tenho um z sql method que faz a pesquisa pelo id, chamo esse cara na
> > page template, porém não está certo, dá erro a todo momento, pois quero
> > pegar o objeto de retorno e jogar num formulário para a alteração de 
> dados.
> > Gostaria de saber se tem como eu jogar na session e buscá-la através do
> > python e pegar na page template, ou fazer direto na chamada da z sql
> > method na page template.
>
> não esqueça que o resultado do ZSQLMethod é uma lista onde cada
> elemento contém o conjunto dos campos envolvidos. Dessa forma,
> para acessá-los num PageTemplate, bastaria algo como:
>
> <tal:sql repeat="item context/meu_ zsql">
> <tal:campo1 content="item/ campo1" />
> <tal:campo2 content="item/ campo2" />
> </tal:sql>
>
> HTH,
>
> -- 
>
> Dorneles Treméa
> X3ng Web Technology
>
>
>
> __________________________________________________
> Fale com seus amigos de graça com o novo Yahoo! Messenger
> http://br.messenger.yahoo.com/
>  


        

        
                
_______________________________________________________ 
Yahoo! Mail - Sempre a melhor opção para você! 
Experimente já e veja as novidades. 
http://br.yahoo.com/mailbeta/tudonovo/

Responder a