Clusit-Associazione Italiana per la Sicurezza Informatica
Il mio profilo su Linkedin
Il mio spazio su YouTube
Joomla Italia
Il mio profilo su vololibero.net
 
Album Picasa
 
Visualizzare un modulo in un componente PDF Stampa E-mail
Joomla 1.7
Sabato 29 Ottobre 2011 17:09
Ecco un'altro piccolo tricks, utile quando vogliamo portare, un modulo installato, all'interno di una vista di un componente.
Un utilità potrebbe essere quella di avere un modulo banner dedicato agli articoli o un modulo plus1+ di google. Inoltre non è poi così rigido come mi aspettavo ma è persino possibile "suggerire" qualcosa al nostro modulo, vediamo come...

Innanzitutto solletichiamo ancora un po' la fantasia sull'utilità di questa "pratica", perchè ha la possibilità di sfruttare joomla anche per scopi più avanzati.
Se abbiamo un sito turistico, diviso per luoghi e vogliamo offrire un servizio meteo dedicato alla loro visualizzazione locale ( ma anche per altre attività è utile una informazione correlata) diventa tutto molto semplice e 0 invasivo poichè possiamo fare tutto in un override del componente, nello specifico useremo la view dell'articolo.
Non vi faccio comunque questo esempio perchè una volta visto il codice è banale il suo inserimento, non vi resta che documentarvi su come fare un override di un componente.
Allora, tutto quello che è richiesto è l'uso di un editor opportuno e il solito backup, almeno del file, prima di "lavorarci sopra".
Se avete fatto un override, come caldamente consigliato, ci occuperemo del file "default" o quello con il nome significativo della vista che rappresenta; insomma, quello destinato a rappresentare il codice html di ciò che visualizzeremo all'interno del codice html del nostro template principale, nella posizione che gli avremo destinato in quest'ultimo.
Sarà collocato nella cartella "html" del vostro template, all'interno di un ulteriore cartella "com_nomecomponente" e di un'altra con il nome della vista uguale a quello di cui volete fare l'override, in pratica: templates/vostro_template/html/com_componente/vista_to_override/files_to_override.php.

All'interno di questo inseriamo il codice:
<?php
$document = &JFactory::getDocument();
$istanza_miomodulo = false;
$istanza_miomodulo =  &JModuleHelper::getModule('mod_nomemiomodulo');

 if($istanza_miomodulo){
 $miomodulo_renderer = $document->loadRenderer('module');
 $istanza_miomodulo->params = $myprms;

 echo $miomodulo_renderer->render($istanza_miomodulo);
 }

[b]$myprms[/b] è ciò che possiamo "suggerire" al nostro modulo, sotto forma di stringa di coppie chiave=valore. (non vi venga in mente di passare password... )
Ma può essere utile per specializzare la richiesta ad un api, passandogli il nome della città in questione, per rifarci all'esempio di cui sopra ma anche per query alle mappe o ad altri servizi.
 
 
Questo sito è dedicato alla mia ed altrui curiosità, come primordiale bisogno di conoscere, capire nella sua complessità ogni cosa. Questo sito è basato sul framework Joomla1.5.xx!. Ogni contenuto o script pubblicato è di libera consultazione e duplicazione purchè se ne citi la fonte. Clicca qui per votare