Web design

Posizione modulo in componente

Durante la creazione di un sito in Joomla, spesso può capitare di dover inserire un modulo in una posizione non prevista dal template corrente o una posizione modulo nel file del componente. l plugin nativo "Load Modules" può venirci incontro quando la nostra esigenza è di inserire un modulo all'interno di un articolo, o comunque all'interno di una dscrizione testuale contenuta nel com_content.

2014-04-richiamare-posizione-modulo-ovunque

Per chi fosse alle prime armi, il com_content è il componente che gestisce i contenuti statici principali di Joomla, quali categorie e articoli.

Quando detto sopra viene effettuato tramite un piccolo snippet di codice racciuso tra parentesi graffe:

loadposition nomeposizione

Fino a qui tutto semplice. Se provassimo però ad inserire il codice appena visto al di fuori del com_content, o meglio al di fuori di un articolo, noteremmo che il modulo non verrebbe renderizzato dal plugin, poiché esso lavora esclusivamente nel componente sovra citato.

Per ovviare a ciò esiste un piccolo trucco che permette con pochissime righe di codice di inserire una posizione modulo fuori dal com content di joomla, come ad esempio inserire una posizione modulo all'interno di un prodotto Virtuemart, oppure in qualsiasi altro componente esistente sul lato front-end del sito.

<?php

$document = &JFactory::getDocument();

$renderer = $document->loadRenderer('modules');

$options = array('style' => 'xhtml'); $position = 'NOME POSIZIONE';

echo $renderer->render($position, $options, null);

?>

Scrivendo il codice sopra riportato in una qualsiasi parte del sito, all'interno dei file sorgenti del template di joomla, o che generano override di un componente installato, e sostituendo NOME POSIZIONE con il nome della posizione modulo desiderata, si otterrà il richiamo della posizione modulo ovunque sia necessaria.

Iscriviti alla newsletter

  • Lingua:
  • Email: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.

Questo sito utilizza cookie per migliorare l'esperienza di navigazione ed i serivizi offerti al visitatore. I cookie ed il loro utilizzo, gestito secondo la normativa GDPR, sono accettati automaticamente se scegli di continuare a navigare questo sito.