2009/5/22 rogeriocdluiz <rogeriocdl...@yahoo.com.br>:
>
>
> Pessoal,
>
> Criei um um formulário para cadastro de informações que são gravadas em um
> banco Mysql. Como minha área é infra-estrutura segui os seguintes tutoriais:
>
> http://plone.org/products/ploneformgen/documentation/tutorial/sql-crud/
>
> http://plone.org/documentation/tutorial/plone-and-mysql
>
> http://www.vivaolinux.com.br/artigo/Criando-formularios-no-Zope-Plone-utilizando-o-banco-de-dados-MySQL
>
> Funcionou perfeito. Criei o formulário e uma lista com os dados cadastrados.
> No primeiro tutorial é mostrada uma opção de URL onde é mostrado o
> formulário já com os dados preenchidos pra edição.
>
> Criei um page template para mostrar a lista dos dados assim:
>
> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
>
> <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en"
> lang="en"
> metal:use-macro="here/main_template/macros/master"
> i18n:domain="plone">
>
> <body>
>
> <div metal:fill-slot="main">
>
> <h1>Lista de Usuarios Cadastrados</h1>
>
> <table border>
> <tr>
> <th>Nome Completo</th>
> <th>CPF</th>
> <th>Senha</th>
> <th>Habilitado</th>
> <th>Comentario</th>
> <th>Alterar</th>
> </tr>
>
> <div tal:repeat="records context/SelectAll" >
>
> <tr>
> <td><span tal:replace="records/fullname">cod goes here</span></td>
> <td><span tal:replace="records/user">cod goes here</span></td>
> <td><span tal:replace="records/password">cod goes here</span></td>
> <td><span tal:replace="records/enabled">cod goes here</span></td>
> <td><span tal:replace="records/comment">cod goes here</span></td>
> </tr>
>
> </div>
>
> </table>
>
> </div>
>
> </body>
> </html>
>
> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
>
> Acontece que gostaria de ter mais uma coluna "Alterar" onde aparecesse a URL
> do formulário já apontando para um registro específico. No caso a URL seria:
>
> {portal_url}/teste-formulario-cadastro/cadastro?uid=1
>
> Onde cada linha mostraria um registro e a sua respectiva URL.
>
> Como eu faço para substituir o uid dinamicamente com
> tal:replace="records/password ?

Você precisa usar o tal:attributes para fazer o atributo "href" ser
gerado dinâmicamente, por exemplo:

<td>
  <a href="#"  
tal:attributes="string:${portal_url}/teste-formulario-cadastro/cadastro?uid=${records/uid}">
    <span tal:replace="records/uid" />
  </a>
</td>

Dá uma olhada na documentação do Zope PageTemplates que tem mais mais exemplos:

http://www.zope.org/Documentation/Books/ZopeBook/current/AppendixC.stx

Sds,

-- 
Rudá Porto Filgueiras

Responder a