[Plone-IT] Template differente per la homepage

SauZheR at gOOgle sauzher a gmail.com
Ven 17 Lug 2009 17:54:56 UTC


mi sfugge un passo.
Forse mi sbaglio ma non manca di dire a plone di utilizzare la vista
che hai definito?

Non si dovrebbe dire di utilizzare la tua vista come default_page o
selected_layout? Credo che fermandosi ai passi descritti plone
rimarrebbe tale e quale a prima fino al momento in cui si digita
l'url: http://localhost:8080/sitoplone/hp

bye

Il giorno 17 luglio 2009 19.33, Vito Falco<vitofalco a gmail.com> ha scritto:
> Errata corrige.
> Facendo un copia/incolla del codice ho dimenticato (quindi fallo tu) di
> sostituire il "eves.skin" con "plone.tema" tuo.
>
> V.
>
> Il giorno 17 luglio 2009 19.32, Vito Falco <vitofalco a gmail.com> ha scritto:
>>
>> Ciao,
>> allora chiarisco un po'.
>> Innanzitutto dovrai lavorare sui files che hai creato per il tuo pacchetto
>> di tema, che non conoscendo lo identificherò come "plone.tema".
>>
>> 1. possiamo non utilizzare una nostra marker interface per uno scopo poco
>> complesso. Quindi utilizzeremo l'interfaccia già presente in plone chiamata
>> "Products.CMFCore.interfaces.ISiteRoot". Questa interfaccia è presente (is
>> provided by) l'oggetto "plone site".
>>
>> 2. in browser/configure.zcml aggiungi:
>>>
>>> <browser:page
>>>         for="Products.CMFCore.interfaces.ISiteRoot"
>>>         name="hp"
>>>         class=".hp.hpView"
>>>         permission="zope2.View"
>>>     />
>>
>> Quindi così facendo gli stai dicendo di usare la classe contenuta nel file
>> "hp.py" chiamata "hpView", ogni qualvolta incontra un contesto dove
>> l'interfaccia "Products.CMFCore.interfaces.ISiteRoot" è utilizzata, quindi
>> nella home di un plone site ;-)
>> Andiamo così a definirla...
>>
>> 3. nella cartella browser crea un file py chiamato "hp.py" e inserisci:
>>>
>>> from Acquisition import aq_inner
>>> from Products.Five.browser import BrowserView
>>> from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
>>> from plone.memoize.instance import memoize
>>>
>>> from zope.interface import implements
>>>
>>> from DateTime import DateTime
>>> from Products.Five import BrowserView
>>> from Products.CMFCore.utils import getToolByName
>>>
>>> from eves.skin.browser.interfaces import IHpView
>>>
>>> class hpView(BrowserView):
>>>
>>>     template = ViewPageTemplateFile('hp.pt')
>>>     implements(IHpView)
>>>     @memoize
>>>     def __call__(self):
>>>         return self.template()
>>
>> Con questo file stiamo definendo la classe della BrowserView che come
>> rendering userà il nostro bel pagetemplate chiamato "hp.pt" (che devi creare
>> scopiazzando il codice di main_template.pt presente di default
>> nell'istallazione di Plone).
>>
>> Fai il refresh di della tua istanza plone, e meglio sarebbe una
>> disinstallazione-reinstalalzione del tema sulla tua istanza di test.
>>
>> Spero di non aver tralasciato niente...
>> Vito
>>
>> P.S. Utilizzando invece una marker interface apposita e non quella
>> Products.CMFCore.interfaces.ISiteRoot dovremmo a manina settare tale
>> interfaccia via tab "interfaces" (in ZMI) presente tra quelli dell'oggetto
>> Plone site obiettivo.
>> Il metodo che invece ti ho indicato - ovvero sfruttando l'ISiteRoot -
>> rende tutto più "magico"...
>>
>>
>
>
>
> --
> "Design is the method of putting form and content together. Design, just as
> art, has multiple definitions; there is no single definition. Design can be
> art. Design can be aesthetics. Design is so simple, that's why it is so
> complicated." by Paul Rand
>
> _______________________________________________
> Plone-IT mailing list
> Plone-IT a lists.plone.org
> http://lists.plone.org/mailman/listinfo/plone-it
> http://www.nabble.com/Plone---Italy-f21728.html
>



-- 
  bye
SauZheR
************************************
l'iterazione è umana...
la ricorsione, Divina!
************************************
reply to: sauzher AT gmail DOT com




Maggiori informazioni sulla lista Plone-IT