Bookmark and Share
Document Actions

Ordinare e nascondere le viewlet
medio

Come cambiare in modo semplice il comportamento delle viewlet da un profilo di Generic Setup

Abbiamo visto nei precedenti paragrafi che l'ordine delle viewlet è memorizzato in una utility. Quell'utility è configurata nel file viewlets.xml di un profile Generic Setup.

Ordinamento

Se si ha solo bisogno di cambiare l'ordine delle viewlet nello skin Plone Default allora si può semplicemente copiare il viewlets.xml originale da CMFPlone/profiles/default/ in MyTheme/profiles/default/ e modificare la copia secondo le proprie necessità.

Qualora fosse richiesta una maggior flessibilità nell'ordinamento delle viewlet si posso usare alcuni parametri per ogni nodo del viewlets.xml.

Un viewlets.xml per un prodotto di skin potrebbe essere simile a questo:

<?xml version="1.0"?>

<object>

  <order manager="plone.portalheader" skinname="My Theme"
         based-on="Plone Default">
    <viewlet name="plone.logo" insert-before="*"/>
  </order>
  <order manager="plone.portaltop" skinname="*">
    <viewlet name="plone.app.i18n.locales.languageselector"
             insert-after="plone.path_bar"/>
  </order>

</object>

Questo codice contiene due espressioni <order />: la prima crea un nuovo skin di nome My Theme basato sul Plone Default. Questo significa che il nuovo skin erediterà l'ordine delle viewlet dall skin su cui è basato. Nell'esempio il plone.logo è messo come primo nel viewlet manager plone.portalheader. La seconda espressione sposta plone.app.i18n.locales.languageselector subito dopo plone.path_bar nel plone.portaltop per tutti gli skins (utilizzando skinname="*").

Nota

Sia DIYPloneStyle che ZopeSkel forniscono un viewlets.xml (contenente della documentazione sui parametri utilizzati) quando generano un nuovo prodotto per un tema.

Nascondere

Anche per nascondere le viewlet si utilizza il viewlets.xml con il nodo <hidden />, che è allo stesso livello di <order />, sempre selezionando lo skin.

Per esempio, per rimuovere il global sections dal proprio skin bisogna aggiungere delle dichiarazioni nel viewlets.xml come le seguenti:

<hidden manager="plone.portalheader" skinname="My Theme">
  <viewlet name="plone.global_sections" />
</hidden>

Mostrare viewlet nascoste

Qualora fosse necessario visualizzare una o più viewlet nascoste per un certo viewlet manager si possono utilizzare i parametri purge e remove del nodo <hidden /> nel viewlets.xml.

Per mostrare tutte le viewlet nascoste per un dato viewlet manager:

<?xml version="1.0"?>
<object>
  <hidden manager="plone.portalheader" skinname="Plone Default"
          purge="True" />
</object>

Per mostrare una specifica viewlet:

<?xml version="1.0"?>
<object>
  <hidden manager="plone.portalheader" skinname="Plone Default">
    <viewlet name="plone.global_sections" remove="True" />
  </hidden>
</object>

Nota

I parametri purge e remove sono supportati anche all'interno delle dichiarazioni <order />.

 
by Fabrizio Reale last modified 2008-12-12 17:11