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.