Usando conteúdos externos via Diazo

Ao fazer um tema usando Diazo pode aparecer a necessidade de usar conteúdos vindos de diferentes páginas em um mesmo tema. Isso pode ser necessário caso o gestor do site queira atualizar conteúdos fora das áreas normalmente usadas para isso que no caso do Plone é o próprio conteúdo e os portlets. Um caso típico é o do rodapé quando o dono do site quer mais liberdade para colocar diversos tipos de informação lá como telefones de contato que vivem mudando ou links que variam conforme a necessidade.

Para fazer isso basta adicionar o atributo href na sua regra:

<replace css:theme="#footer" css:content="#content" href="/footer" />


O exemplo vai acessar a pasta /footer dentro do seu Plone e dentro dela buscará a tag #content. Então colocará esse conteúdo na tag #footer do seu template. É claro que para esse exemplo funcionar você deve ter uma página /footer no seu site.

Outro exemplo é quando você quer servir conteúdos de fora do seu site. Para isso basta usar a URL completa.

 <replace css:theme-children="#header" css:content="#info"           href="http://www.umsitequalquer.com/ultimasnoticias" />


Contudo nesse caso é necessário mudar a configuração do seu Plone.

  1. Acesse as configurações do site e clique em depois "Diazo theme" ou diretamente via @@theming-controlpanel
  2. Clique na aba "Advanced settings"
  3. Habilite o checkbox "Read network".


Desta forma as suas regras poderão acessar conteúdos de servidores remotos.

Por fim resta dizer que essa configuração pode ser deixada no seu próprio pacote do diazo. basta adicionar a seguinte linha dentro do seu arquivo manifest.cfg:

[theme] readNetwork = True