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.
May 28th, 2009 at 15:42
la mia esigenza è quella di inserire un modulo menu nel div #page che è generato default.php article.
seguendo il tuo script riesco a farlo?
grazie
March 9th, 2010 at 17:24
Come modificare il codice per far sicchè ogni voce menù presenti angoli arrotondati???
Lascia un commento
-
Feeds
Segui il feed RSS e Twitter per restare sempre aggiornato!
Ricevi gli aggiornamenti via email: -
-
Ultimi commenti
- Michele: Salve, tutto chiaro, ma se volessi usare Subversion insieme a XCode è possibile? Grazie
- strumenti musicali chitarra: IL SITO DI JOOMLA
- giulio: È una potenza.
- Fabio: Avete risolto il problema di inserire due moduli nella stessa pagina? Se si come?
- lobo: …è solo una sola come tutti gli altri template “vuoti” di J. come i tutorial per costruirli,...
-
Ultimi post

2 Commenti al post “Gli stili dei moduli di Joomla”