Lugares que nos fazem lembrar de Elvis
Vamos dizer que você deseja listar os lugares que lhe trazem lembranças de Elvis. Vamos organizar uma maneira fácil de listar alguns lugares e mostrá-las em seu Web site.
- Clique no documento sightings.
- Clique na aba View para visualizá-lo.
Note que a página mostra uma lista com alguns lugares e informações. Note também que estes locais não estão na aba contents de nosso exemplo. Então... De onde eles vieram?
- Clique no Folder sightings para acessá-lo.
- Clique no método Shelbyville para examiná-lo.
- Volte ao folder sightings clicando no endereço na parte superior da tela de gerenciamento.
- Selecione o método Shelbyville clicando em seu checkbox.
- Clique no botão Delete.
Você apenas deletou um objeto Zope que descrevia um dos locais que lembravam Elvis. Vamos ver agora o que isso causou em nossa página.
- Clique no documento sightings para acessá-lo.
- Clique na aba View para visualizá-lo.
O local Shelbyville não está mais listado. A lista de lugares é construida de alguma forma a partir dos métodos contidos na pasta sightingsFolder.
Você quer retornar com essa informação? A partir do momento que você deletou esse objeto, você pode colocá-lo de volta. Você precisa "desfazer" sua ação!
- Clique na aba Undo.
- Selecione a primeira transação ("manage_delObjects") clicando em seu checkbox.
- Clique no botão Undo.
- Clique no folder sightingsFolder para acessá-lo.
Veja o que aconteceu.
Resumo
Múltiplos objetos do Zope podem ser combinados para formar complexas páginas Web.
- Documentos DTML podem conter fragmentos de conteúdo.
- Suas páginas podem usar Métodos DTML para inserir conteúdo.
- Você pode "reparar" os erros que cometer através da aba Undo.
Então vamos ver como a página monta as informações que se encontram no sightingsFolder...
- Clique no documento sightings para editá-lo.
- Mude o conteúdo do documento para:
<dtml-var standard_html_header>
<h2><dtml-var title></h2>
<table border="1">
<dtml-in expr="sightingsFolder.objectValues()">
<tr><td>
<dtml-var sequence-item>
</td></tr>
</dtml-in>
</table>
<dtml-var standard_html_footer>
- Clique no botão Change.
- Clique na aba View.
Note como cada lugar descrito está dentro de uma célula de tabela.
A tag dtml-in retorna uma lista de objetos. A tag dtml-var <sequence-item> insere os objetos que estão atualmente disponíveis no folder. A expressão expr="sightingsFolder.objectValues()" que faz parte da tag dtml-in orienta ao Zope como "buscar" estes objetos. Isto chama o método objectValues do folder sightingsFolder. Este método (característico) do Zope retorna todos os objetos contidos em um folder.
Resumo
Você pode utilizar métodos mais avançados do Zope para apresentar os objetos de seu site. Múltiplos objetos do Zope podem ser combinados para montar páginas Web complexas.