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