Boa noite!

Depois nos diz seu nome okay?

Bom ... vamos por partes, além de problemas de implementação, você está
enfrentando (sem saber) problemas de arquitetura.

Ter um portal multi-tema (ou afim) não é uma tarefa difícil, contanto que
você trabalhe com temas do jeito certo.

A má notícia é que você começou pelo caminho errado, a boa, é que o caminho
certo é fácil e tem ferramentas que vão te auxiliar.

O jeito certo é criar um tema (tropicalizando o termo), conhecido
tecnicamente como skin. Para isto existem algumas opções:

   - DIY Plone Style (simples e rápido, execute um comando e você terá seu
   produto de skin, porém gera estrutura de produto "old style" e não de egg -
   padrão Plone atual) - http://plone.org/products/diyplonestyle
   - Paster (você preenche um formulário e ele gera o tema pra você, você
   ainda pode gerar portlets, viewlets e afins, gera um egg de skin) -
   
http://plone.org/documentation/kb/how-to-create-a-plone-3-theme-product-on-the-filesystem
   - Adaptar algo existente, tem gente que gosta e faz, eu não ... mas
   enfim, tem gente que pega coisa pronta e adapta, se quiser fazer isto:
      -
      
http://plone.org/products?getCategories=themes&getCompatibility=Plone+3&path=%2Fplone.org%2Fproducts&portal_type=PSCProject&SearchableText=
      - http://www.contentmanagementsoftware.info/plone/skins

Apenas explicando, o tema é uma espécie de isolamento de arquivos, onde você
define que os arquivos x, y e z (seus) sobreescrevem os arquivos que o Plone
usa por padrão.

Então instalando um tema você vai perceber que em portal_skins na aba
properties você tem vários registros de skins. Em cada registro você vai
perceber que existe uma lista de diretórios (que contém arquivos utilizados
em temas) abaixo do custom, e abaixo desta listagem "intrusa" do tema
instalado estão os diretórios do Plone padrão e dos plugins que você
instala.

Logo acima deste registro tem a frase: "Layers (in order of precedence)".

Resumindo, você vai ver que o que realmente importa é que você registrou
seus arquivos precedendo a leitura dos arquivos que o Plone usa por padrão,
simples assim!

Por exemplo:
custom
*liberiun_templates*
*liberiun_styles*
*liberiun_javascript*
cmfeditions_views
CMFEditions
ChangeSet
kupu_plone
kupu
kupu_tests
archetypes
archetypes_kss
mimetypes_icons
plone_kss
ATContentTypes
ATReferenceBrowserWidget
ResourceRegistries
PasswordReset
gruf
plone_ecmascript
plone_wysiwyg
plone_prefs
plone_portlets
plone_templates
plone_styles
plone_form_scripts
plone_scripts
plone_forms
plone_images
plone_content
plone_login
plone_deprecated
plone_3rdParty

Estas pastas em negrito que fazem a "mágica".

Desta forma seus arquivos ficam:

   - Em sistema de arquivos (tem maior performance);
   - Fáceis de serem versionados;
   - Fáceis de serem editados através de uma IDE de seu gosto, e sem
   mistério algum;
   - Isolados dos arquivos do Plone, o que é bom para migrações de versão.

E além disto você pode usar um tema diferente em cada pasta, horário, dia da
semana, etc ... basta utilizar uma access rule.

O caminho das pedras é esse, boa diversão.

Abraços.


Em 15 de abril de 2010 10:57, sidornel...@rocketmail.com <
sidornel...@gmail.com> escreveu:

>
>
> iai galera, alguem sabe me informar como faço para chamar um main_template
> especifico que esta em um diretorio?
>
> por exemplo o main_template_pasta que se encontra no diretorio
> /portal/pasta chama-lo em um diretorio /portal/pasta/pasta1 ? eu coloquei no
> diretorio /portal/pasta/pasta1 um main_template com o seguinte codigo:
>
> <span tal:replace="structure python:here.main_template_pasta()" />
>
> funciona apenas se acesso a url /portal/pasta/pasta1/main_template mas qnd
> acesso outros conteudos dentro de /portal/pasta/pasta1/... dá vários erros..
>
> Site Error
>
> An error was encountered while publishing this resource.
>
> KeyError
> Sorry, a site error occurred.
>
> .
> .
> .
>
>  
>



-- 
Rodrigo Castardo
Esquadrão de Cristo M. M.  - www.esquadraodecristo.com.br
Skype: rodrigocastardo
Contato: +55 61 8217-1999
Hornet Amarela
Brasília-DF

Responder a