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 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