Top Banner
Criando Temas com Diazo World Plone Day 2012 Brasilia
21

Construindo temas para Plone com Diazo

May 19, 2015

Download

Technology

Oficina de introdução ao Diazo ministrada por André Nogueira durante o World Plone Day 2012 em Brasília
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Construindo temas para Plone com Diazo

Criando Temas com Diazo

World Plone Day 2012Brasilia

Page 2: Construindo temas para Plone com Diazo

O que é o Diazo

Nova maneira de criar temas para o PlonePermite aplicar qualquer HTML no Plone

Page 3: Construindo temas para Plone com Diazo

Como funciona

Com um simples XML você substitui elementos de seu ‘template’ html por conteúdo gerado pelo Plone.

Page 4: Construindo temas para Plone com Diazo
Page 5: Construindo temas para Plone com Diazo

Requisitos

•Plone 4.1.x + plone.app.themingOu•Plone 4.2

Page 6: Construindo temas para Plone com Diazo

Estrutura Básica

Um tema é um simples arquivo .zip contendopelo menos 2 arquivos:

• index.html• rules.xml

Page 7: Construindo temas para Plone com Diazo

Estrutura Básica

Normalmente o arquivo é bem mais complexo.Contém CSS e imagens.

Mas podemos começar dessa maneira...

Page 8: Construindo temas para Plone com Diazo

Crie uma pasta

Crie a pasta com o nome do seu temaEsta pasta irá guardar os arquivos do seu tema

Page 9: Construindo temas para Plone com Diazo

Criando o arquivo index.html<html> <head> <title>Meu primeiro Diazo</title> </head> <body> <h1 id="title">Meu primeiro Diazo</h1> <div id="menu">menu do site</div> <div id="conteudo">Lorem ipsum... </div> </body></html>

Page 10: Construindo temas para Plone com Diazo

<?xml version="1.0" encoding="UTF-8"?><rulesxmlns="http://namespaces.plone.org/diazo"xmlns:css="http://namespaces.plone.org/diazo/css"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><theme href=“index.html" css:if-content="#visual-portal-wrapper" /><replace css:content="#portal-globalnav" css:theme="#menu" /><replace css:content="#portal-columns" css:theme="#conteudo" /></rules>

Criando o arquivo rules.xml

Page 11: Construindo temas para Plone com Diazo

Define qual o template utilizado<theme href=“index.html" css:if-content="#visual-portal-wrapper" />

Adiciona a navegação do Plone<replace css:content="#portal-globalnav" css:theme="#menu" />

Adiciona o Conteúdo<replace css:content="#portal-columns" css:theme="#conteudo" />

Criando o arquivo rules.xml

Page 12: Construindo temas para Plone com Diazo

Colocando em prática• Crie um arquivo ZIP com a sua pasta• Adicione ao Portal

• Configuração do Portal / Diazo Theme• Clique na Aba Import Theme e adicione seu arquivo

Importante, a página de configuração do DIazonão é modificada por segurança.

Page 13: Construindo temas para Plone com Diazo

Colocando em práticaApós aplicar o tema, você deferá ver o seu HTML, com o menu e o conteúdo do Plone.

Entretanto os estilos do Plone não são aplicados

Page 14: Construindo temas para Plone com Diazo

Adicionando estilosImportando CSS do Plone<replace css:content="head" css:theme="head" />

Essa chamada substitui todo o HEAD do seu HTML pelo HEAD do Plone

Page 15: Construindo temas para Plone com Diazo

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

Page 16: Construindo temas para Plone com Diazo

<before /> e <after /><after css:content="#portal-searchbox" css:theme="#conteudo" />Este exemplo colocara o busca do Plone no final da página.

Page 17: Construindo temas para Plone com Diazo

<drop /><drop css:content="#portal-searchbox .searchSection" />

É usado para apagar elementos do tema ou do conteúdo que não serão usados.

O exemplo acima apagará o “apenas nesta seção” que vem junto da busca do Plone.

Page 18: Construindo temas para Plone com Diazo

<merge /><merge attributes="class" css:theme="body"

css:content="body" />Usado para combinar os valores dos atributos, especialmenteusado para combinar classes de CSS.• Se o tema possui uma tag body assim:

<body class="alpha beta">• e o conteúdo possui uma tag body assim:

<body class="delta gamma">• o resultado do exemplo acima seria:

<body class="alpha beta delta gamma">

Page 19: Construindo temas para Plone com Diazo

Ordem de ExecuçãoO 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> 2º lugar: <drop />3º lugar: <replace> 4º lugar: Regras que usam attributes.5º lugar: Regras usando "theme-children" 6º e último lugar: <after/>

Page 20: Construindo temas para Plone com Diazo

Tema mais completoVocê pode encontrar um exemplo de tema mais completo no seguinte endereço:

http://plone.org/products/beyondskins.responsive

Page 21: Construindo temas para Plone com Diazo

Criando Temas com Diazo

World Plone Day 2012Brasilia