Quando si fa qualcosa, in ogni ambito della vita, si punta sempre a due cose
1) il rispetto
2) il guadagno
La storia di un produttore di add-ons:
Dal punto di vista dei produttori di componenti, moduli e plugin questi due passaggi sono quasi obbligati. Per passarmi un pò il tempo butto giù due righe di codice php perchè voglio mostrare ai miei visitatori qualcosa di bello e affascinante; ed anche le mie capacità. Lo pubblico nel mio sito, e poi lo pubblicizzo un pò magari inserendolo nel Jed di Joomla.org
E' il successo.. il mio addons piace a molti, lo usano anche nei loro siti e mi incoraggiano a migliorarlo; a migliorarlo e poi ancora a migliorarlo. Mi incitano scrivendo @mail dove mi chiedo se posso aggiungere questo o quell'altra cosa... lo faccio volentieri.
Poi capisco che quello che era un mio passatempo oggi mi porta il rispetto di molti, di tutti quelli che con le cinque stelline mi premiano e mi portano in alto. Tanto in alto che faccio un salto nel futuro e penso a quanto potrei guadagnarci se il mio prodottino nato quasi per gioco o per sfizzio lo rendessi commerciale. Oleè!!
Il mio prodotto lo faccio commerciale... addio open source e licenza Gnu/Gpl
Questa è la storia di un produttore di add-onsssss....
Leggi tutto: Ma perchè le estensioni da open source diventano commerciali?
Premettendo che sarebbe corretto lasciare i riferimenti per qualsiasi componente, plugin, modulo che installiamo solo allo scopo di "ringraziare" chi ci fornisce strumenti utili di implementazione del nostro Joomlasite, resta il fatto che molte volte questi sono tanto aggressivi e visibili che toglierli diventa una necessità. La licenza di Joomla permette di rimuove il copyright dal cms; o meglio, permette di togliere quello visibile nel footer. La rimozione di questo elemento dal codice HTML del sito non lede in alcun modo la licenza di Joomla!. Un banale dettaglio tecnico infatti differenziail codice sorgente PHP da output generato dal codice stesso e l'HTML inserito negli script.
Joomla! viene distribuito sotto licenza GPL Versione 2 dove è esplicitamente richiesto il mantenimento del copyright nel codice sorgente.
I cambiamenti sostanziali si cominciamo a vedere proprio nella struttura di questo file (il gestore finale dell’output)
Restando invariate le finalità (cioè gestione del layout globale del sito) sono radicalmente cambiate le modalità di richiamo dei vari blocchi che creano e compongono l’output a video del CMS:
A cominciare dall’header per esempio e come riportato sul tutorial di Barrie north il listato:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="it-it" lang="it-it" >
<head>
Fà prelevare direttamente dal file di configurazione il parametro relativo alla lingua, mentre il susseguente:
<jdoc:include type=”head” />
prende sempre dallo stesso file parametri relativi ai metatag, alla favicon e agli rss del sito.
Cambia nella sostanza la sintassi utilizzata e cioè al posto di:
<link href=”<?php echo $mosConfig_live_site;?>/templates/rhuk_solarflare_ii/css/template_css.css”
presente nella versione 1.0.13 del template rhuk_solarflare troviamo ora:
<link rel=”stylesheet” href=”templates/<?php echo $this?template ?>/css/template.css” type=”text/css” />
la variabile <?php echo $this?template ?> sostituisce <?php echo $mosConfig_live_site;?> come percorso base di richiamo.
Ovviamente ciò vale per tutti i file da richiamare, ad esempio nel template Beez sempre nella attuale versione 1.5 RC1 il richiamo all’immagine del logo è il seguente:
<img src=”templates/<?php echo $this?template ?>/images/logo.gif”
I componenti ed i moduli
Listato relativo alla versione 1.0.0 di Joomla! per richiamare il Mainbody:
<?php mosMainBody(); ?>
Diventa per la 1.5
<jdoc:include type=”component” />
E a questo punto una piccola considerazione; il listato completo e corretto relativo al richiamo dell’output dei componenti è il seguente (si considerano sempre listati relativi ai template di default di joomla! 1.5):
<?php if($this?params?get(’showComponent’)) : ?>
Significa che vengono lette le variabili impostate nel file “Params.in” uno dei nuovi file inseriti nella struttura e a seconda dei casi può essere possibile non visualizzare il componente nella pagina. E’ di sicuro un impostazione utile... il primo caso che viene in mente riporta alle tante richieste sui forum ufficiali di utenti che desideravano avere due home page distinte, la prima senza output del mainbody e le altre in modalità normale (es. quando si desidera mostrare in determinate pagine solo l’output di moduli senza il mainbody). In aggiunta questa funzione potrebbe di sicuro rivelarsi interessante per la gestione degli spazi occupati dai moduli in assenza dell’output di componenti, ma và ovviamente gestita con condizioni php.
I moduli, cosa è cambiato nella loro gestione
lo snippet di codice della versione 1.0.0
<?php mosLoadModules ( ‘user1’ ); ?>
Le possibilità di output della versione 1.0.0 oltre ad assegnare un nome e posizione al modulo prevedevano anche il suo “stile”, è cioè possibile assegnare questi stili:
0, 1, -1, -2 , -3
Esempio:
<?php mosLoadModules ( ‘user1’, -2 ); ?>
Gli stili 0 ed 1 creano un output in tabelle, il primo in colonna il secondo in celle
lo stile -1 genera un output grezzo e senza titolo del modulo
lo stile -2 genera un ouput con div contenitore e testata (h3)
lo stile -3 genera un output con div annidati fornendo possibilità maggiormente performanti (si và dalla possibilità di differenziare testata,parte centrale e footer del modulo, sino alla creazione ad esempio di moduli scalabili (adattabili) in larghezza ed altezza o all’utilizzo di angoli arrotondati (sfruttando la composizione di immagini)
Nella nuova versione di Joomla! invece abbiamo questo:
<jdoc:include type=”modules” name=”user2” style=”xhtml” />
e gli stili disponibili per i livelli diventano, come riportato da barrie north e come peraltro facilmente visibile nel file index.php del template rhuk_milkyway
gli stili table ed horz si rifanno agli stili 0 ed 1 della versione 1.0.0
lo stile xhtml genera un div contenitore per il modulo e la sua testata in h3
lo stile rounded genera div annidati che riprendono le funzionalità dello stile -3 precedente
E’ in ogni caso possibile personalizzare ulteriormente l’output dei moduli utilizzando i suffissi css come del resto abbiamo fatto fin’ora.
In sostanza i cambiamenti sembrano di facile comprensione e sicuramente capire questa nuova sintassi aiuta nella migrazione dei template dalla versione 1.0.0 alla versione 1.5, ma sfortunatamente o fortunamente, a seconda dei casi, per noi non è tutto qui, ci sono altre considerazioni da fare.
Nei riferimenti fatti in precedenza sui cambiamenti del core di joomla avevo premesso che il lavoro degli sviluppatori è stato magnifico e non è stato rivolto solo al distacco definitivo dai sorgenti Mambo bensì si è cercato di dare maggiore flessibilità al lavoro dei designer e dei programmatori, realizzando quello che a prima vista sembra una specie di sistema template aggiuntivo e differenziato:
Ogni componente ed ogni modulo di Joomla! versione 1.5 ha la sua cartella “tpl” ad esempio prendiamo il componente “com_search”, all’interno della cartella views\search\tmpl ed aprendo il file “default.php” osserviamo il listato prestando attenzione alla classe componentheading:
Faccio riferimento a componentheading per fare notare che è cioè possibile a questo punto anche assegnare css diversi ai componenti per fare cioè in modo di avere testate diverse per diversi componenti.
Stiamo però agendo direttamente nel core del sistema, questo è bene ricordarlo, ed è una cosa che possiamo fare anche nella versione 1.0.0; allora perchè questa nuova struttura?
La risposta credo si possa trovare aprendo il template “beez” anch’esso presente di default nell’installazione di Joomla! 1.5 e prestando attenzione al contenuto della cartella “html” al suo interno
Ne cito solo alcune, in realtà sono molte di più, e vi invito a fare questa prova, installate come predefinito il template in questione, osservate la home e il modulo “login”, ora semplicemente rinominate la cartella “mod_login” e fate un refresh della home... visto?
il layout del modulo login è cambiato perchè il suo layout adesso è gestito esternamente e precisamente dalla cartella “mod_login” presente nel template “Beez” con sue classi css definite. Altre prove fatte ad esempio impostando uno sfondo #000 ai file relativi della cartella “com_contact” hanno dato esito positivo.
Dal Wiki di Joomla.it
Pagina 13 di 13