Gli stili dei moduli di Joomla
Quando vogliamo richiamare un modulo in un template di Joomla, usiamo un codice del tipo
<jdoc:include type="modules" name="left" style="xhtml" />
che in sostanza significa “includi tutti i moduli della posizione left, usando lo stile xhtml”.
Usando Joomla 1.0 era possibile definire lo stile della visualizzazione di un modulo usando una serie di numeri, ovvero:
• 0 (per default) mostra il modulo come una tabella verticale
• 1 mostra il codice in una tabella orizzontale
• -1 pubblica l’output del codice senza alcuna formattazione HTML
• -2 genera codice XHTML, ed il titolo racchiuso in un tag H3
• -3 genera codice racchiuso tra una serie di DIV che permettono di creare box dagli angoli arrotondati.
Joomla 1.5 ha conservato queste definizioni, ma è anche possibile usare delle parole per descriverle:
• 0 = table
• 1 = horz
• -1 = none
• -2 = xhtml
• -3 = rounded
Oltre a questo è stato definito lo stile outline, che viene usato per mostrare le posizioni dei moduli durante il preview del template, come mostrato in figura.

Prima dell’avvento di Joomla 1.5 questi stili non erano estensibili: era possibile usare solo questi. Ora abbiamo invece la possibilità di specificare un nostro stile personalizzato.
Come fare?
Dobbiamo agire sugli output override del template, come spiegato nella sezione “Output Override”.
Nella cartella html/ del template avremo un file chiamato modules.php. Questo è il contenuto del file modules.php del template Beez. Esso crea un nuovo stile beezDivision, che racchiude l’output in un div e mostra il titolo in un tag Hx, dove x è un numero definito nel parametro headerLevel, per default H3.
< ?php function modChrome_beezDivision($module, &$params, &$attribs) { $headerLevel = isset($attribs['headerLevel']) ? (int) $attribs['headerLevel'] : 3; if (!empty ($module->content)) : ?> <div class="moduletable<?php echo $params->get('moduleclass_sfx'); ?>"> < ?php if ($module->showtitle) : ?> >< ?php echo $module->title; ?>> < ?php endif; ?> < ?php echo $module->content; ?></div> < ?php endif; }
Per richiamare questo stile dovremo avere nel file index.php del template il codice.
<jdoc:include type="modules" name="left" style="beezDivision" headerLevel="3" />
Come vediamo, all’interno del codice esistono chiamate come $module->showtitle.
L’oggetto $module è il collegamento che abbiamo con la configurazione di Joomla ed il codice del modulo, infatti
• $module->showtitle indica se il titolo del modulo deve essere mostrato
• $module->title è il titolo del modulo
• $module->content è l’output del modulo
Quando può essere utile creare nuovi stili? Ad esempio quando vogliamo presentare un modulo in un modo diverso dal solito, magari creando una lista numerata anzichè una lista ordinata o altro ancora. La fantasia è l’unico limite.
-
Feeds
Segui il feed RSS e Twitter per restare sempre aggiornato!
-
-
Ultimi commenti
- Marco: Scusate ma non riesco a far funzionare l’utilissimo metodo indicato. Ho creato modulo html...
- Syd: you’re awesome. …..
- anna: alla prima installazione ho avuto qualche problema con la memoria, poi ho sistmeato. Ottimo !!
- Antonio: Ciao volevo chiederti alcune info. Io devo creare un socialnetwork con funzioni simili a Facebook però...
- massimo: sono capitato qui da un link postato da mau_develop in risposta ad un mio quesito sul forum di joomla.it:...
-
Ultimi post
