Edgard, muito grato por compartilhar com todos esta receita. Esta é
uma ótima forma de ajudar: resumir para todo mundo o que aprendemos.

2008/4/4 Edgard Costa <[EMAIL PROTECTED]>:
> Depois de algumas dezenas de mensagens trocadas e muita ajuda do
>  ZéHenrique, consegui fazer meu formulário no Zope rodar perfeitamente.
>
>  Como muitos novos usuários podem ter o mesmo problema, vou postar a
>  solução:
>
>  1º E mais importante. Não siga o que está no Livro do Zope, na página
>  do Zope. Não funciona. (eu pelo menos não consegui)

Edgard, você poderia enviar a URL exata da página onde está a
documentação que não funciona? Por ser documentação oficial, é
importante que ela seja corrigida, pois certamente outras pessoas vão
seguir as instruções erradas.

>  2º O pulo do gato é:
>  Na tag form, precisamente em action direcionar para o script python
>  desta forma:
>  <form name="frm" id="frm" action="seuscriptpython" method="post">

Aqui não vejo qualquer surpresa: é assim que formulários funcionam em
qualquer sistema de programação para Web, incluindo o Zope. O atributo
action do form deve ser a URL do programa que trata os dados do
formulário, ou seja, a URL para onde o navegador do usuário deve
enviar os dados. No seu exemplo, "seuscriptpython" é o caminho
relativo até o script. O navegador sabe como montar a URL completa a
partir do caminho relativo.

>  3º A sintaxe para os inputs types é:
>  <input type="text" name="nomedocampo" tal:attributes="value
>  request/nomedocampo | nothing" /><br/>

Perfeito. A função do comando tal:attributes aqui é preencher os
campos do formulário com os dados do request, ou deixá-los em branco
caso não existam tais dados no request (a parte do "...|nothing").
Isto serve para que os valores dos campos sejam preservados caso este
formulário precise ser re-exibido pelo script (por exemplo, se houver
algum erro de validação).

[ ]s
Luciano

Responder a