Come si sa, Joomla dispone nativamente di un modulo "custom" denominato "HTML personalizzato". Questo modulo, permette di inserire testo e tag HTML da poter visualizzare in una posizione del nostro template. Quello che non permette di fare questo modulo, è l' esecuzione di codice php. La cosa è voluta. Infatti, poter far eseguire codice php in un modulo poi pubblicato sul template del nostro sito joomla, può causare problemi di sicurezza al sito. E' anche vero, però, che esistono numerosi plugin e moduli che permettono l' inserimento di codice php all' interno di articoli o moduli. Quindi, onde evitare la continua installazione e proliferazione di componenti vari per qualsiasi funzionalità ci necessita aggiungere al sito, vediamo come fare per personalizzare il modulo "HTML personalizzato" affinchè accetti ed esegua il codice php contenuto al suo interno.
Applicheremo la tecnica dell' override. Creiamo un nuovo modulo "HTML personalizzato" da "Estensioni->gestione Moduli" e da quì icona nuovo. Nella finestra di popup scegliamo "HTML personalizzato".
Diamo il titolo al modulo "Codice php" , salviamo e chiudiamo. Ora, preleviamo il file presente su rootdelsito/modules/mod_custom/tmpl/default.php e copiamolo su rootdelsito/templates/miotemplate/html/mod_custom. Se le cartelle html e/o mod_custom non esistono, creiamole. Ora, apriamo il file appena copiato ed apportiamo alcune piccole modifiche che permetterano di eseguire il codice php contenuto all' interno del modulo.
Modifichiamo il codice riportato sopra come segue:
Come si può notare, si tratta veramente di una modifica minima. Sfruttiamo la "eval" di php per interpretare i codice php. Bene, salviamo il file appena modificato chiamandolo "phpcode.php" e cancelliamo il "default.php". Avremo quindi sulla rootdelsito/templates/miotemplate/html/mod_custom il nostro phpcode.php.
Torniamo al modulo HTML personalizzato "Codice php" precedentemente salvato. All' interno della configurazione del modulo, selezioniamo il nuovo layout appena creato ed inseriamo un pò di codice php di prova. Ricordiamoci anche di assegnare una posizione al modulo e di assegnarlo a tutte le voci di menù che ci interessano.
Ora, spostandoci sul frontend del sito possiamo notare che il modulo visualizza il link della pagina che stiamo visitando (viene stampato il risultato della Juri::getIstance()->toString). Abbiamo quindi ottenuto , l' esecuzione dello script php all' interno del modulo. Da notare che, se commettiamo un errore sul codice php, tale errore verrà ovviamente visualizzato sul sito.
Altra cosa interessante. Possiamo inserire il codice php anche all' interno di un articolo. Infatti, è possibile utilizzare il tag loadposition posizione all' interno dell' articolo che stiamo scrivendo. Per esempio , ho scritto prorio su questo articolo un loadposition che mi carica il modulo che gestisce il pulsante "Mi Piace" di Facebook. Quindi, nel modulo che voglio caricare inserirò nella configurazione del modulo stesso una posizione template fittizzia (che non esiste nel template). Per esempio inseriremo nel modulo la posizione 'facebook' quindi, scriveremo racchiuso tra paretesi graffe, nel punto dell' articolo ove vogliamo compaia il nostro modulo:
loadposition facebook <-racchiuso tra parentasi graffe {}
Ed ecco il risultato riportato qui' sopra. Bene, se questo tutorial vi è piaciuto , c'è proprio un "mi piace" quì sopra ! Per qualsiasi altra cosa potete inserire un commento.
Pensi che questo articolo possa essere d' aiuto anche ad altri? Allora condividilo subito nel tuo social preferito.
Tweet Segui @Dillofacile
Lascia i tuoi commenti
Login per inviare un commento
Posta commento come visitatore