Gisele,

Que eu saiba, não existe nenhuma funcionalide no Formulator, que você
possa configurar, para que os dados sejam gravados no BD.  Você deve
criar um Zsql Method que faça o update no BD.  Você pode chamar esse
método em um script python, após a a validação dos dados, ou mesmo no
DTML method (o que pra mim não é muito usual), passando para os campos
do form (explicitamente ou por meio do request mesmo).

Zénrique. 

Em 01/09/05, Gisele Borges<[EMAIL PROTECTED]> escreveu:
> Henrique,
> 
> Obrigada pela sua resposta. Eu achava que usando o formulator ele já
> armazenava como default no ZODB.
> 
> 
> 1.Agora quero utilizar um BD relacional, fiz a conexão com o MYSQL e
> não sei no form (do formulator) onde setar isso. Já tentei em
> "settings, properties" e não tem essa opção.
> 
> Não importa o BD, só quero capturar os dados.
> 
> obrigada,
> Gi
> 
> 
> 
> 
> --- Em zope-pt@yahoogrupos.com.br, José Henrique <[EMAIL PROTECTED]> escreveu
> > Não sei se entendi bem sua dúvida, mas pelo que eu li posso dizer o
> seguinte:
> >
> > - o Formulator é um produto que ajuda na construção e validação de
> formulários.
> > - uma vez validados, imagino que você arquive os dados em algum lugar
> > (em um objeto no ZODB ou em uma ou mais tabelas em um BD relacional.
> >
> > O Formulator não armazena dos dados submetidos no formulário gerado.
> > Ele não foi feito pra isso.  Dessa forma, pra gerar o relatório, você
> > deve ler os dados onde você os armazenou e montar sua página.
> >
> > Zénrique
> >
> > Em 01/09/05, Gisele Borges<[EMAIL PROTECTED]> escreveu:
> > > [EMAIL PROTECTED],
> > >
> > > Estou fazendo um formulário usando o formulator. O index e o enviar
> > > estão funcionando perfeitamente. O que eu quero é simplesmente
> > > construir um relatório (vide o arquivo "relatorio" lá embaixo):
> > >
> > > 1.arquivo:index_html (dtml method)
> > > ===================================
> > > <dtml-var standard_html_header>
> > > <h2><dtml-var document_title></h2>
> > > <p>
> > >
> > > <dtml-comment>
> > > - Insere o <form action="enviar" method="">
> > > - Para mudar estes parâmetros, clique no objeto "form"
> > > e depois clique em "Settings"
> > > </dtml-comment>
> > > <dtml-var "form.header()">
> > >
> > > <dtml-comment>
> > > - Como queremos controlar o layut do formulário, iremos
> > > criar uma tabela.
> > > </dtml-comment>
> > >
> > > <br /> <br />
> > > <center>
> > >
> > > <table border="1" width="500" cellpadding="5" bgcolor="#dddddd">
> > >
> > > <dtml-comment>
> > > - Todos os campos e seus títulos são chamados diretamente do objeto
> > > "form".
> > > </dtml-comment>
> > >
> > > <tr>
> > > <td width="30%" align="right"><dtml-var
> > > "form.lotacao.get_value('title')"></td>
> > > <td width="70%" align="left"><dtml-var "form.lotacao.render()"></td>
> > > </tr>
> > > <tr>
> > > <td width="30%" align="right"><dtml-var
> > > "form.genero.get_value('title')"></td>
> > > <td width="70%" align="left"><dtml-var "form.genero.render()"></td>
> > > </tr>
> > > <tr>
> > > <td width="30%" align="right"><dtml-var
> > > "form.idade.get_value('title')"></td>
> > > <td width="70%" align="left"><dtml-var "form.idade.render()"></td>
> > > </tr>
> > > <tr>
> > > <tr>
> > > <td width="30%" align="right">Graduação</td>
> > > <td width="70%" align="left">
> > >     <dtml-var "form.administracao.render()"><dtml-var
> > > "form.administracao.get_value('title')"><br>
> > >     <dtml-var "form.direito.render()"><dtml-var
> > > "form.direito.get_value('title')"><br>
> > >     <dtml-var "form.economia.render()"><dtml-var
> > > "form.economia.get_value('title')"><br>
> > >     <dtml-var "form.engenharia.render()"><dtml-var
> > > "form.engenharia.get_value('title')"><br>
> > >     <dtml-var "form.administracao.render()"><dtml-var
> > > "form.administracao.get_value('title')"><br>
> > >     <dtml-var "form.direito.render()"><dtml-var
> > > "form.direito.get_value('title')"><br>
> > >     <dtml-var "form.economia.render()"><dtml-var
> > > "form.economia.get_value('title')"><br>
> > >     <dtml-var "form.engenharia.render()"><dtml-var
> > > "form.engenharia.get_value('title')"><br>
> > > </td>
> > > </tr>
> > > <tr>
> > >
> > > <td colspan="2" align="center"><input type="submit" value=" OK "></td>
> > > </tr>
> > >
> > > </table>
> > > </center>
> > >
> > > <dtml-var "form.footer()">
> > >
> > > </p>
> > > <dtml-var standard_html_footer>
> > >
> > > <!-- fim do index -->
> > > ===================================
> > >
> > >
> > >
> > >
> > > 2. arquivo enviar (dtml method)
> > > ====================================
> > > <dtml-var standard_html_header>
> > >
> > > <dtml-try>
> > > <!-- testar a validação -->
> > > <dtml-call "form.validate_all_to_request(REQUEST)">
> > > <dtml-except FormValidationError>
> > > <!-- se algum erro ocorrer, irá mostrar aqui -->
> > > <ul>
> > > <dtml-in "error_value.errors">
> > > <li>
> > > <dtml-var "field.get_value('title')">:
> > > <dtml-var error_text>
> > > </li>
> > > </dtml-in>
> > > <ul>
> > >
> > > <dtml-else>
> > >
> > > <!-- se não há erros, iremos enviar o formulario-->
> > >
> > > Prezado(a),
> > >
> > > Sua pesquisa foi realizada com sucesso!<br><br>
> > > Os dados digitados foram:
> > >
> > > Lotação: <dtml-var lotacao><br>
> > > Gênero: <dtml-var genero><br>
> > > Idade: <dtml-var idade><br>
> > > Administração: <dtml-var administracao><br>
> > >
> > > </dtml-try>
> > >
> > > <dtml-var standard_html_footer>
> > > <!-- fim do enviar -->
> > > ====================================
> > >
> > >
> > >
> > >
> > > 3. relatorio (dtml document)
> > > ====================================
> > > <html metal:use-macro="here/main_template/macros/master">
> > >
> > > <! -- AQUI A DÚVIDA: COMO E DE ONDE CHAMO OS RESULTS DO FORM
> > > (FORMULATOR???? O FORM ESTÁ NUM FOLDER CHAMADO FORMULARIOS)
> > >
> > > <body><div metal:fill-slot="main" tal:define="results
> > > python:context.objectValues('form');
> > >                     start request/start|python:0;
> > >                     batch python:modules['ZTUtils'].Batch(results,
> > >                                                           size=20,
> > >
> start=start);
> > >                     previous python:batch.previous;
> > >                     next python:batch.next">
> > >
> > >   <p>
> > >     <a tal:condition="previous"
> > >        tal:attributes="href
> > > string:${request/URL0}?start:int=${previous/first}"
> > >        href="previous_url">previous <span
> > > tal:replace="previous/length">20</span>
> > > results</a>
> > >     <a tal:condition="next"
> > >        tal:attributes="href
> > > string:${request/URL0}?start:int=${next/first}"
> > >        href="next_url">next <span tal:replace="next/length">20</span>
> > > results</a>
> > >   </p>
> > >
> > >   <table border>
> > >         <tr>
> > >           <th>lotacao</th>
> > >           <th>genero</th>
> > >           <th>idade</th>
> > >
> > >         </tr>
> > >
> > >   <div tal:repeat="result batch" >
> > >
> > >
> > >          <tr>
> > >           <td><span tal:replace="result/lotacao">lotacao</span></td>
> > >           <td><span tal:replace="result/genero">genero</span></td>
> > >           <td><span tal:replace="result/idade">idade</span></td>
> > >
> > >         </tr>
> > >
> > >   </div>
> > >
> > >       </table>
> > >   <p>
> > >     <a tal:condition="previous"
> > >        tal:attributes="href
> > > string:${request/URL0}?start:int=${previous/first}"
> > >        href="previous_url">previous <span
> > > tal:replace="previous/length">20</span>
> > > results</a>
> > >     <a tal:condition="next"
> > >        tal:attributes="href
> > > string:${request/URL0}?start:int=${next/first}"
> > >        href="next_url">next <span tal:replace="next/length">20</span>
> > > results</a>
> > >   </p>
> > >
> > >   </div></body>
> > > </html>
> > > ====================================
> > >
> > > Obs.: Todos os tutoriais e documentos que eu achei sobre o formulator,
> > > não vi nenhuma ajuda como construir um relatório, só o formulário.
> > > Fica ai uma dica pra quem escreve artigos e tutoriais.
> > >
> > > Obrigada,
> > > Gi
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > 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 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