Galera consegui, to fechando esse post. Vou colocar o código aqui no
caso de alguém futuramente precisar.

ZPT
<form method=get tal:attributes="action
string:${here/absolute_url}/consulta_cliente_py">
  <span style="color:red;" tal:content="request/mensagem |
nothing">mensagem</span>
   <table border="1" width="50%">
     <tr>
       <th>Consultar</th>
         <td><input type="text" name="consulta_cliente" value=""
maxlenght="40" size="40" style="text-transform:uppercase;"> <input
type="submit" value="Consultar" name=""></td>
     </tr> 
 <metal:block tal:define="items options/parametro | nothing" 
               tal:condition="exists:items" 
               tal:repeat="resultados items">

     <tr tal:define="pintar repeat/resultados/even"
         tal:attributes="bgcolor python:test(pintar, '#FFFFE0',
'#FFFFFF')">
         <td tal:content="resultados/codigo">Codigo</td>       
         <td tal:content="resultados/nomefantasia">Nome</td>       
     </tr>
 </metal:block>
   </table>
</form>

PyScript
nomefantasia = request.get('consulta_cliente')
mensagem = ""
consulta = []

if nomefantasia == "" or len(nomefantasia) < 3:
   mensagem = "Você precisa inserir pelo menos 3 caracteres para consulta"
   return RESPONSE.redirect('%s/consulta_cliente?mensagem=%s' %
(context.absolute_url(),mensagem))
else:
   consulta =
context.zsql_select_cliente(nomefantasia=nomefantasia.upper())
   return context.consulta_cliente(parametro=consulta)

Agradecimentos a Zénrique, Dirceu e Zefyrus. Muito obrigado galera.

[]'s
Fernando Paiva


--- Em zope-pt@yahoogrupos.com.br, "pythondeveloper"
<[EMAIL PROTECTED]> escreveu
>
> Tenho o Seguinte ZPT.
> <span tal:content="request/mensagem | nothing">Mensagem</span>
>  <form method="post" tal:attributes="action
> string:${context/absolute_url}/consulta_cliente_py">   
>   <table border="1">
>     <tr>
>       <th>Consultar</th>
>         <td><input type="text" name="consulta_cliente" value=""
> maxlenght="40" size="40"> <input type="submit" value="Consultar"
> name=""></td>
>     </tr> 
>   <metal:block tal:define="items request/consulta"
> tal:condition="exists:items" tal:repeat="resultados items">
>     <tr tal:define="pintar repeat/resultados/even"
>         tal:attributes="bgcolor python:test(pintar, '#FFFFE0',
> '#FFFFFF')">
>         <td><a tal:attributes="href resultados/nomefantasia"
> tal:content="resultados | nothing">Resultado</a></td>           </tr>
>   </metal:block>
>   </table>
>  </form>
> </div>
> 
> E o seguinte Script Python:
> nomefantasia = request.get('consulta_cliente')
> mensagem = ""
> consulta =[]
> 
> if nomefantasia == "" or len(nomefantasia) < 3:
>    mensagem = "Você precisa inserir pelo menos 3 caracteres para
consulta"
>    return RESPONSE.redirect('%s/consulta_cliente?mensagem=%s' %
> (context.absolute_url(),mensagem))
> else:
>    consulta = context.zsql_select_cliente(nomefantasia=nomefantasia)
>    return consulta
> 
> O caso é que quero retornar os resultados "consulta" para o mesmo ZPT
> que o enviou, e assim preencher o <td><a>, mas não estou tendo
> resultados quanto a isso.
> 
> O objetivo que pretendo alcançar é esse.Vejam:
> 
> Antes de efetuar a pesquisa ZPT sem os resultados, tabela vazia.
> Consultar<entrocomoquequeropesquisar><botaopesquisa>
> +---------------------------------------------------+
> 
> Depois de efetuar a pesquisa, a mesma tabela com os resultados.
> Consultar<entrocomoquequeropesquisar><botaopesquisa>
> +---------------------------------------------------+
> Resultado1
> Resultado2
> Resultado3
> Resultado4
> 
> Bom! Concluindo, Os resultados virão na msm tela. 
> 
> Alguma sugestão ?
> 
> 's
> Fernando Paiva
>







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

 


Responder a