Este documento fornece uma introdução sobre como criar temas para o Plone usando Diazo. Explica que Diazo permite substituir elementos HTML por conteúdo gerado pelo Plone usando regras XML simples. Detalha os benefícios e riscos de usar Diazo, como designers e programadores podem trabalhar melhor juntos e reduzir tempo de implementação. Fornece instruções básicas sobre como criar um tema Diazo com arquivos index.html, rules.xml e aplicá-lo no Plone.
4. Que Diazo isso faz?
Com um simples XML você substitui elementos
de seu template html por conteúdo gerado pelo
Plone.
5.
6. Porque usar Diazo
Designers e Programadores trabalham melhor.
Torna a entrada ao mundo Plone mais amigavel
As vezes o design já existe.
Reduz o templo de implementação.
Performance e Flexibilidade.
O tema pode ser reaproveitado em outros CMS e vice versa.
É possível redesenhar uma interface do usuário sem sequer tocar
o código fonte da aplicação
O tema original permanece intocado facilitando a reutilização
e manutenção.
7. Porque NÃO usar Diazo
Risco de perda das validações de código
Riscos de usabilidade
Riscos de portabilidade
Riscos de acessibilidade
Riscos na otimização para buscas
Possível incompatibilidade com alguns produtos
8. Diazo X Deliverance
Muito Parecidos (regras)
Deliverance saiu na frente
Deliverance usa Python
Diazo Plone 4, Deliverance is no more
20. Chamando o Template
Define qual o template utilizado
<theme href=“index.html" />
Colocar uma condição:
<theme href=“index.html"
css:if-content="#visual-portal-wrapper" />
22. Chamando o Template
Define qual o template utilizado
<theme href=“index.html" />
Colocar uma condição:
<theme href=“index.html"
css:if-content="#visual-portal-wrapper" />
23. Anatomia de uma Regra
<regra css:content="#elemento-no-Plone"
css:theme="#elemento-no-Template" />
24. Exemplos de regras
Adiciona a navegação do Plone
<replace css:content="#portal-globalnav"
css:theme="#menu" />
Adiciona o Conteúdo do Plone
<replace css:content="#portal-columns"
css:theme="#conteudo" />
26. Desafio
Após aplicar o tema, você verá seu HTML,
com o menu e o conteúdo e titulo do Plone.
Entretanto os estilos do Plone não são aplicados
Porque? Você consegue arrumar isso?
27. Adicionando estilos
Importando CSS do Plone
<replace css:content="head" css:theme="head" />
Essa chamada substitui todo o HEAD do seu HTML
pelo HEAD do Plone
28. <replace />
<replace css:theme="title" css:content="title"/>
O resultado aqui é que o elemento <title /> no tema
será substituido pelo elemento <title /> do conteúdo (dinamico).
29. <before /> e <after />
<after css:content="#portlet-patrocinadores"
css:theme="#footer" />
Este exemplo colocara o portlet de patrocinadores abaixo do rodape
de um site.
30. Desafio
Usando a regra after, coloque a busca do plone #portal-searchbox
logo abaixo do #conteudo
32. <drop />
<drop css:content=".portlet .portletHeader" />
É usado para apagar elementos do tema ou do conteúdo
que não serão usados.
O exemplo acima apagará o Header de todos os portlets
35. <merge />
Usado para combinar os valores dos atributos, especialmente para
combinar classes de CSS
<merge attributes="class" css:theme="#prato"
css:content="#prato" />d
Tema: <div id=”prato” class="arroz">
Conteúdo: <div id=”prato” class="feijao">
O resultado do exemplo será:
<div class="arroz feijao">
38. <append />
<append css:content-children="head"
css:theme="html head" />
<append css:theme="head">
<link rel="stylesheet" href="++theme++pacote/style.css"
type="text/css" charset="utf-8" />
</append>
Este exemplo inclui uma tag link no head do tema
39. Pais e Filhos
As regras podem tratar diretamente das tags filhas:
<append css:content="#footer"
css:theme="#footer"/>
<append css:content-children="#footer"
css:theme="#footer"/>
42. Ordem de Execução
O Diazo executará as regras segundo uma ordem própria e não
necessariamente segundo a ordem escrita. Não é preciso
decorar, mas é bom ter anotado:
1º lugar: <before> e <append>
2º lugar: <drop />
3º lugar: <replace>
4º lugar: Regras que usam attributes.
5º lugar: Regras usando "theme-children"
6º e último lugar: <after/>
43. Desafio do Dragão
1. Escolha um template feito pelo seu sobrinho:
freetemplatesonline.com
templatesgratis.org
2. Crie um pacote diazo instalável e teste
3. Crie um arquivo com as regras necessárias para
substituir conteudo
4. Crie regras onde você use o estilo do template com os
itens do head do Plone
44. Referências e Documentação
Você pode encontrar um exemplo de tema mais completo no
seguinte endereço:
http://plone.org/products/beyondskins.responsive