Museo&Web

Kit di progettazione di un sito di qualità per un museo medio-piccolo

wp5 logo
vai al contenuto
Ti trovi in: Home - CMS - Tutorial - Personalizzazione del tipo di pagina

Museo&Web CMS Open Source: Tutorial


Personalizzazione del tipo di pagina
a cura del CMS Team (Gruppo Meta, Firenze)

In alcuni casi può essere utile modificare il tipo di pagina, per cambiare i componenti usati oppure per modificare il tipo di skin.
Se si cambia il file originale distribuito con il CMS, al momento dell'aggiornamento ad una nuova versione bisogna fare attenzione per non perdere le proprio modifiche, con la funzionalità che sto per descrivere questo non è più necessario.
Supponiamo di voler modificare la form di ricerca e la skin della pagina dei "Capolavori", prendete il file MW/pageTypes/Catalog.xml e duplicate cambiandogli nome (es. MyCatalog.xml).
Adesso aprite il nuovo file tramite un editor di testo e modificatelo, per esempio togliendo tutti i campi e lasciando solo il campo per la selezione dell'autore.

<glz:SearchFilters id="filters" editableRegion="content" cssClass="advanced_search_detached" wrapHidden="true">
                <glz:DataDictionary id="filterAuthorDP" recordClassName="org.minervaeurope.museoweb.models.Catalog" field="catalogdetail_author" />
                <glz:List id="filterAuthor" label="{i18n:MW_CATALOG_AUTHOR}" bindTo="catalogdetail_author" value="{filters}" dataProvider="{filterAuthorDP}" emptyValue="-" fieldset="true"/>
                <glz:Panel cssClass="formButton" editableRegion="content">
                    <glz:Button value="{i18n:MW_SEARCH}" type="submit" target="{filters}" action="SEARCH" cssClass="submit_button"/>
                    <glz:Button value="{i18n:MW_NEW_SEARCH}" type="reset" target="{filters}" action="RESET" cssClass="submit_button"/>
                </glz:Panel>
            </glz:SearchFilters>
...

A questo punto bisogna indicare al sistema di usare il nostro nuovo file invece che il file originale.
Andate nella cartella MW/startup/ e create un nuovo file PHP non deve avere un nome particolare (es. modGruppometa.php).
Aprite il nuovo file e inserite il seguente codice:
<?php
org_glizy_ObjectFactory::remapPageType('Catalog.xml', 'MyCatalog.xml');
?>

Questa istruzione indica al sistema che tutte le volte che verrà richiesto di leggere il file Catalog.xml dovrà invece leggere il file MyCatalog.xml, così facendo tutta la struttura e il database rimane invariato, ma la pagina dei Capolavori sarà cambiata secondo le vostre necessità.

Prima di proseguire volevo spendere due parole sulla cartella MW/startup, forse molti di voi avranno anche notato che esiste anche una cartella MW/shutdown.
I file contenuti in queste cartelle vengono caricati in automatico dal framework rispettivamente alla partenza dell'applicazione e alla fine del rendering della pagina.

© Progetto Minerva 2006-05, ultima revisione 2006-05-30, a cura del WP5, Commissione di studio per la creazione di un prototipo di sito web culturale pubblico.
URL: www.minervaeurope/structure/workinggroups/userneeds/prototipo/cms/personalizzapagina.html