<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Pillole di Joomla!&#187; Mini guide su Joomla! di livello intermedio</title>
	<atom:link href="http://www.pilloledijoomla.it/livello/livello-intermedio/feed" rel="self" type="application/rss+xml" />
	<link>http://www.pilloledijoomla.it</link>
	<description>tutorial per realizzare siti internet in Joomla!</description>
	<lastBuildDate>Tue, 05 May 2009 07:43:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Evitare title e description duplicati</title>
		<link>http://www.pilloledijoomla.it/livello-intermedio/evitare-title-e-description-duplicati.html</link>
		<comments>http://www.pilloledijoomla.it/livello-intermedio/evitare-title-e-description-duplicati.html#comments</comments>
		<pubDate>Fri, 01 May 2009 13:26:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[livello intermedio]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://localhost/pillole/joomla/?p=158</guid>
		<description><![CDATA[Joomla! è un ottimo CMS ma, a mio avviso, se non adeguatamente &#8220;controllato&#8221; rischia di esporci a penalizzazioni in ottica SEO se, ad esempio, Google dovesse indicizzare pagine con title e/o descrizioni duplicate.
Joomla!, infatti, permette di personalizzare title e description delle pagine ma, qualora queste informazioni non vengano inserite, verranno letti dal file di configurazione [...]]]></description>
			<content:encoded><![CDATA[<p>Joomla! è un ottimo CMS ma, a mio avviso, se non adeguatamente &#8220;controllato&#8221; rischia di esporci a penalizzazioni in ottica SEO se, ad esempio, Google dovesse indicizzare pagine con title e/o descrizioni duplicate.</p>
<p>Joomla!, infatti, permette di personalizzare title e description delle pagine ma, qualora queste informazioni non vengano inserite, verranno letti dal file di configurazione i valori di default (relativi alla home page del sito) ed applicati a title e description della pagina corrente!</p>
<p>I valori di title e description del sito, infatti, sono memorizzati nel file configuration.php, sono modificabili dal back-end di Joomla!, e valorizzano le variabili: <em>sitename</em> e <em>MetaDesc</em></p>
<p>Per evitare che ciò accada, possiamo inserire due controlli prima della chiusura del tag &lt;/body&gt; nel nostro template, proprio su questi due campi, con codice come questo:</p>
<p><code>&lt;?php<br />
$CONFIG =&amp; new JConfig();<br />
if ($CONFIG-&gt;sitename == $this-&gt;title) echo '&lt;br/&gt;&lt;b&gt;Title di default!&lt;/b&gt;';<br />
if ($CONFIG-&gt;metaDesc == $this-&gt;MetaDesc) echo '&lt;br/&gt;&lt;b&gt;Description di default!&lt;/b&gt;';<br />
?&gt;<br />
</code></p>
<div>In questo modo, in caso di valori di default, comparirà un (inquietante) messaggio in fondo alla pagina che ci avviserà di title e/o description di default.</div>
<div>Identificati title e/o description duplicati, il problema sussiste eventualmente per i soli componenti differenti dal com_content: per questi ultimi, infatti, è necessario installare un componente per il SEO, per la gestione della metadazione dove sarà possibile impostare valori e criteri per title e description.</div>
<div>Per gli articoli, invece, basta inserire una descrizione nel campo di testo del parametro Informazioni Metadata -&gt; Descrizione, dal modulo di back-end per la scrittura/modifica degli articoli di Joomla! mentre il <em>title</em> corrisponderà al Titolo dell&#8217;articolo.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.pilloledijoomla.it/livello-intermedio/evitare-title-e-description-duplicati.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Inserire moduli nel template</title>
		<link>http://www.pilloledijoomla.it/livello-intermedio/inserire-moduli-nel-template.html</link>
		<comments>http://www.pilloledijoomla.it/livello-intermedio/inserire-moduli-nel-template.html#comments</comments>
		<pubDate>Mon, 23 Mar 2009 17:55:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[livello intermedio]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://localhost/pillole/joomla/?p=154</guid>
		<description><![CDATA[Per quanto in fase di realizzazione di un template per Joomla! siano già note le posizioni dei moduli (che corrisponderanno alle position definite nell&#8217;xml del template), può essere comodo inserire in una view, magari con un layout differente, i moduli specifici di una position.
Per fare ciò, basta includere nel template:
&#60;?php if ($this-&#62;countModules('right')): ?&#62;
&#60;div id="right_col"&#62;
&#60;jdoc:include type="modules" [...]]]></description>
			<content:encoded><![CDATA[<p>Per quanto in fase di realizzazione di un template per Joomla! siano già note le posizioni dei moduli (che corrisponderanno alle position definite nell&#8217;xml del template), può essere comodo inserire in una view, magari con un layout differente, i moduli specifici di una position.</p>
<p>Per fare ciò, basta includere nel template:</p>
<p><code>&lt;?php if ($this-&gt;countModules('right')): ?&gt;<br />
&lt;div id="right_col"&gt;<br />
&lt;jdoc:include type="modules" name="right" /&gt;<br />
&lt;/div&gt;<br />
&lt;?php endif; ?&gt;<br />
</code></p>
<p>In questo modo, inseriremo tutti i moduli per la position &#8220;right&#8221; all&#8217;interno del div id=&#8221;right_col&#8221;.<br />
Questo approccio diventa più interessante se decidessimo di escludere il caricamento di alcuni moduli, utilizzando la sintassi seguente:</p>
<p><code>&lt;?php if ($this-&gt;countModules('right')): ?&gt;<br />
&lt;div id="right_col"&gt;<br />
&lt;?php<br />
$arraym=JModuleHelper::getModules('right');<br />
foreach ($arraym as $module){<br />
if($module == 'mymodule') echo JModuleHelper::renderModule($module);<br />
}<br />
?&gt;<br />
&lt;/div&gt;<br />
&lt;?php endif; ?&gt;<br />
</code></p>
<p>In questo modo, carichiamo esclusivamente il modulo &#8216;mymodule&#8217;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pilloledijoomla.it/livello-intermedio/inserire-moduli-nel-template.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recuperare le variabili di stato della pagina</title>
		<link>http://www.pilloledijoomla.it/livello-intermedio/recuperare-le-variabili-di-stato-della-pagina.html</link>
		<comments>http://www.pilloledijoomla.it/livello-intermedio/recuperare-le-variabili-di-stato-della-pagina.html#comments</comments>
		<pubDate>Fri, 20 Mar 2009 07:54:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[livello intermedio]]></category>
		<category><![CDATA[core]]></category>

		<guid isPermaLink="false">http://localhost/pillole/joomla/?p=147</guid>
		<description><![CDATA[Joomla! può essere visto come un automa a stati finiti il cui stato della pagina dipende fondamentalmente da 3 parametri:

option (il componente attualmente eseguito)
view (relativa al task richiesto)
id dell&#8217;articolo eventualmente  fornito al componente (com_content, ad esempio)

Per accedere alle variabili della pagina corrente che Joomla! inserisce anche nella REQUEST_URI (ovvero, la url che compare nella barra [...]]]></description>
			<content:encoded><![CDATA[<p>Joomla! può essere visto come un automa a stati finiti il cui stato della pagina dipende fondamentalmente da 3 parametri:</p>
<ul>
<li>option (il componente attualmente eseguito)</li>
<li>view (relativa al task richiesto)</li>
<li>id dell&#8217;articolo eventualmente  fornito al componente (com_content, ad esempio)</li>
</ul>
<p>Per accedere alle variabili della pagina corrente che Joomla! inserisce anche nella REQUEST_URI (ovvero, la url che compare nella barra degli indirizzi del browser, dopo il primo livello del dominio), si può utilizzare un metodo della classe JRequest, in questo modo:</p>
<p><code>JRequest::getVar('option', '', 'method', 'option');<br />
JRequest::getVar('view', '', 'method', 'view');<br />
JRequest::getVar('id', '', 'method', 'id');</code></p>
<p>Mi è capitato spesso di vedere codice &#8220;sporco&#8221; che utilizzava, per recuperare i valori di tali variabili, propio la</p>
<p><code>$_SERVER['REQUEST_URI']</code></p>
<p>Il vantaggio di utilizzare un metodo che accede alla struttura dati dell&#8217;applicazione è che, anche in presenza di un componente per l&#8217;url rewriting che potrebbe modificare la url (rimuovendo tali variabili a favore di una url SEF), si riesce ugualmente ad accedere ai valori di option, view e id.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pilloledijoomla.it/livello-intermedio/recuperare-le-variabili-di-stato-della-pagina.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Accedere alle impostazioni di lingua</title>
		<link>http://www.pilloledijoomla.it/livello-intermedio/accedere-alle-impostazioni-di-lingua.html</link>
		<comments>http://www.pilloledijoomla.it/livello-intermedio/accedere-alle-impostazioni-di-lingua.html#comments</comments>
		<pubDate>Fri, 20 Mar 2009 07:22:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[livello intermedio]]></category>
		<category><![CDATA[costanti]]></category>

		<guid isPermaLink="false">http://localhost/pillole/joomla/?p=144</guid>
		<description><![CDATA[Joomla! utilizza il metodo getLanguage() della classe JFactory per manipolare un oggetto JLanguage contenente oltre alle costanti della lingua, informazioni sulla lingua corrente (il parametro local, il codice UTF della lingua, ecc) le .
Per accedere all&#8217;oggetto JLanguage:
$lang =&#38; JFactory::getLanguage();
Vi ricordo, in ogni caso, che per accedere direttamente alle costanti di lingua è disponibile la classe JText che, [...]]]></description>
			<content:encoded><![CDATA[<p>Joomla! utilizza il metodo getLanguage() della classe JFactory per manipolare un oggetto JLanguage contenente oltre alle costanti della lingua, informazioni sulla lingua corrente (il parametro local, il codice UTF della lingua, ecc) le .</p>
<p>Per accedere all&#8217;oggetto JLanguage:</p>
<p><code>$lang =&amp; JFactory::getLanguage();</code></p>
<div>Vi ricordo, in ogni caso, che per accedere direttamente alle costanti di lingua è disponibile la classe JText che, in maniera molto rapida, consente di richiamare il valore delle costanti, come indicato in un&#8217;altra pillola di Joomla! <img src='http://www.pilloledijoomla.it/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </div>
]]></content:encoded>
			<wfw:commentRss>http://www.pilloledijoomla.it/livello-intermedio/accedere-alle-impostazioni-di-lingua.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ottimizzare le variabili Php per Joomla!</title>
		<link>http://www.pilloledijoomla.it/livello-intermedio/ottimizzare-le-variabili-php-per-joomla.html</link>
		<comments>http://www.pilloledijoomla.it/livello-intermedio/ottimizzare-le-variabili-php-per-joomla.html#comments</comments>
		<pubDate>Wed, 18 Mar 2009 20:50:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[livello intermedio]]></category>
		<category><![CDATA[configurazione]]></category>

		<guid isPermaLink="false">http://localhost/pillole/joomla/?p=136</guid>
		<description><![CDATA[Joomla! è un CMS molto potente ma allo stesso tempo riesce a fagocitare memoria Ram come pochi cms fanno, motivo per cui conviene accertarsi che il valore della variabile memory_limit, all&#8217;interno del file php.ini non sia inferiore a 64M.
Stesso discorso per il caricamento di file: capita spesso che per caricare dal fron-end più file, ad esempio [...]]]></description>
			<content:encoded><![CDATA[<p>Joomla! è un CMS molto potente ma allo stesso tempo riesce a fagocitare memoria Ram come pochi cms fanno, motivo per cui conviene accertarsi che il valore della variabile <em>memory_limit</em>, all&#8217;interno del file php.ini non sia inferiore a 64M.</p>
<p>Stesso discorso per il caricamento di file: capita spesso che per caricare dal fron-end più file, ad esempio per consentire agli utenti di una community in Joomla! di caricare le proprie foto sul profilo, il caricamento dei file non vada a buon fine (talvolta senza segnalarlo all&#8217;utente): ciò è dovuto ad un valore troppo basso della variabile <em>upload_max_filesize </em>(alcuni fornitori di hosting impostano questo valore a numeri bassissimi quali 8M)</p>
<p>Il suggerimento è quello di aumentare tali valori (o di chiedere al proprio provider di hosting di aumentarli) a:</p>
<ul>
<li>128M per il <em>memory_limit</em></li>
<li>32M per <em>upload_max_filesize</em></li>
</ul>
<p>I valori di queste variabili possono essere verificati dal back-end di Joomla! dal menu Aiuto -&gt; Info sistema</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pilloledijoomla.it/livello-intermedio/ottimizzare-le-variabili-php-per-joomla.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aggiungere parametri di personalizzazione al template</title>
		<link>http://www.pilloledijoomla.it/livello-intermedio/aggiungere-parametri-di-personalizzazione-al-template.html</link>
		<comments>http://www.pilloledijoomla.it/livello-intermedio/aggiungere-parametri-di-personalizzazione-al-template.html#comments</comments>
		<pubDate>Wed, 18 Mar 2009 20:31:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[livello intermedio]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://localhost/pillole/joomla/?p=133</guid>
		<description><![CDATA[I template di Joomla! possono essere corredati di parametri per creare, ad esempio, più combinazioni di colore sullo stesso template e così via.
In realtà, avere a disposizione una serie di parametri aggiuntivi per il template apre gli scenari più disparati: poter rendere dinamici valori del foglio di stile ad esempio la larghezza della pagina, al [...]]]></description>
			<content:encoded><![CDATA[<p>I template di Joomla! possono essere corredati di parametri per creare, ad esempio, più combinazioni di colore sullo stesso template e così via.<br />
In realtà, avere a disposizione una serie di parametri aggiuntivi per il template apre gli scenari più disparati: poter rendere dinamici valori del foglio di stile ad esempio la larghezza della pagina, al dimensione dei font, ecc.<br />
Si potrebbe decedere di realizzare, ad esempio, un template con due variazioni relative alla posizione di un menu laterale (a sinistra o a destra rispetto al corpo della pagina), ecc</p>
<p>Ebbene, aggiungere al template parametri è semplicissimo:</p>
<p>basta aggiungere nella directory del template un file params.ini contenente su ogni riga la coppia parametro=valore che vogliamo definire.</p>
<p>Ad esempio:</p>
<p><code>sfondo=#FFFFFF<br />
menu=sinistra</code></p>
<p>Per &#8220;informare&#8221; il template dell&#8217;esistenza di questo file, andrà aggiunto all&#8217;elenco dei file presenti nel file templateDetails.xml del template in questione.</p>
<p>Questi parametri possono essere richiamati da ogni pagina del template con l&#8217;istruzione:</p>
<p><code>&lt;?php echo $this-&gt;params-&gt;get('sfondo'); ?&gt;</code></p>
<p>Ma non finisce qui <img src='http://www.pilloledijoomla.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8230;possiamo aggiungere il controllo di questi parametri al back-end di Joomla! (dal pannello di modifica del template), aggiungendo al file templateDetails.xml i parametri con i relativi valori possibili, es:</p>
<p><code>&lt;params&gt;<br />
&lt;param name="sfondo" type="list" default="#FFFFFF" label="Sfondo pagina" description="Definisce il colore di sfondo"&gt;<br />
&lt;option value="#FFFFFF"&gt;Bianco&lt;/option&gt;<br />
&lt;option value="#000000"&gt;Nero&lt;/option&gt;<br />
&lt;/param&gt;<br />
&lt;param name="menu" type="list" default="left" label="Posizione menu" description="Definisce la posizione del menu utente"&gt;<br />
&lt;option value="right"&gt;Destra&lt;/option&gt;<br />
&lt;option value="left"&gt;Sinistra&lt;/option&gt;<br />
&lt;/param&gt;<br />
&lt;/params&gt;</code></p>
<p>In questo modo, oltre a poter gestire questi parametri del back-end di Joomla! senza dover modificare il file params.ini avremo il supporto del database di Joomla! per memorizzare i parametri scelti.</p>
<p>Ovviamente, possiamo definire anche parametri che non prevedono delle opzioni bensì campi aperti.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pilloledijoomla.it/livello-intermedio/aggiungere-parametri-di-personalizzazione-al-template.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ottimizzare il caricamento delle pagine eliminando javascript non necessari</title>
		<link>http://www.pilloledijoomla.it/livello-intermedio/ottimizzare-il-caricamento-delle-pagine-eliminando-javascript-non-necessari.html</link>
		<comments>http://www.pilloledijoomla.it/livello-intermedio/ottimizzare-il-caricamento-delle-pagine-eliminando-javascript-non-necessari.html#comments</comments>
		<pubDate>Wed, 18 Mar 2009 19:48:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[livello intermedio]]></category>
		<category><![CDATA[ottimizzazione]]></category>

		<guid isPermaLink="false">http://localhost/pillole/joomla/?p=130</guid>
		<description><![CDATA[Joomla!, di default, include al caricamento delle pagina la libreria Mootools (necessaria al back-end).
Visto che potremmo trovarci a dover includere un&#8217;altra libreria Javascript differente da quella di Joomla! (magari anche una versione JSmin-ed di mootools), possiamo alleggerire il caricamento delle pagine rimuovendo l&#8217;inclusione di mootools con poche righe di codice, da inserire nel template, prima [...]]]></description>
			<content:encoded><![CDATA[<p>Joomla!, di default, include al caricamento delle pagina la libreria Mootools (necessaria al back-end).</p>
<p>Visto che potremmo trovarci a dover includere un&#8217;altra libreria Javascript differente da quella di Joomla! (magari anche una versione JSmin-ed di mootools), possiamo alleggerire il caricamento delle pagine rimuovendo l&#8217;inclusione di mootools con poche righe di codice, da inserire nel template, prima dell&#8217;istruzione di inserimento dell&#8217;header:</p>
<p><code>&lt;?php</code></p>
<p><code> </code></p>
<p><code>// reupero l'oggetto contenente i parametri dell'header<br />
$headerstuff = $this-&gt;getHeadData();<br />
// svuoto il vettore dei javascript da caricare<br />
$headerstuff['scripts'] = array();<br />
// salvo le modifiche<br />
$this-&gt;setHeadData($headerstuff);<br />
?&gt;</code></p>
<p>a questo punto, nel template, possiamo includere l&#8217;header:</p>
<p><code>&lt;jdoc:include type="head" /&gt;</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pilloledijoomla.it/livello-intermedio/ottimizzare-il-caricamento-delle-pagine-eliminando-javascript-non-necessari.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Personalizzare l&#8217;aspetto dei componenti</title>
		<link>http://www.pilloledijoomla.it/livello-intermedio/personalizzare-laspetto-dei-componenti.html</link>
		<comments>http://www.pilloledijoomla.it/livello-intermedio/personalizzare-laspetto-dei-componenti.html#comments</comments>
		<pubDate>Tue, 17 Mar 2009 16:42:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[livello intermedio]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://localhost/pillole/joomla/?p=117</guid>
		<description><![CDATA[I componenti, a cominciare da com_content, dispongono di view per visualizzare sul front-end l&#8217;output.
Un template per Joomla! può essere esteso personalizzando l&#8217;aspetto delle singole view per ogni componente installato: il metodo è molto semplice.
Ammettiamo, ad esempio, di voler personalizzare l&#8217;aspetto delle pagine di articoli di Joomla! per renderla differente dalla home page o da altre.
Gli [...]]]></description>
			<content:encoded><![CDATA[<p>I componenti, a cominciare da com_content, dispongono di view per visualizzare sul front-end l&#8217;output.</p>
<p>Un template per Joomla! può essere esteso personalizzando l&#8217;aspetto delle singole view per ogni componente installato: il metodo è molto semplice.</p>
<p>Ammettiamo, ad esempio, di voler personalizzare l&#8217;aspetto delle pagine di articoli di Joomla! per renderla differente dalla home page o da altre.<br />
Gli articoli di Joomla! vengono visualizzati dalla view &#8216;article&#8217; di com_content.</p>
<p>Per personalizzare l&#8217;aspetto di quella view, basterà creare una struttura del genere all&#8217;intero della directory del nostro template:</p>
<p><code>/html/com_content/article</code></p>
<p>con all&#8217;interno il solito file dummy <code>index.html</code>:<br />
<code><br />
&lt;html&gt;&lt;body bgcolor="FFFFFF"&gt;&lt;/body&gt;&lt;/html&gt;</code></p>
<p>ed il file <code>default.php</code> contenente le direttive jdoc dei moduli che vogliamo visualizzare più, ovviamente, il layout personalizzato per questo particolare task del componente com_content</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pilloledijoomla.it/livello-intermedio/personalizzare-laspetto-dei-componenti.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cambiare template con un parametro</title>
		<link>http://www.pilloledijoomla.it/livello-intermedio/cambiare-template-con-un-parametro.html</link>
		<comments>http://www.pilloledijoomla.it/livello-intermedio/cambiare-template-con-un-parametro.html#comments</comments>
		<pubDate>Tue, 17 Mar 2009 16:34:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[livello intermedio]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://localhost/pillole/joomla/?p=115</guid>
		<description><![CDATA[Joomla! riconosce un parametro &#8216;template&#8217; che se passato al caricamento della pagina, effettua un override di quello attuale e carica il template con il nome pari al valore della variabile template, sia essa passata in GET che in POST.
Per quanto il modello MVC implementato da Joomla! 1.5 non richieda l&#8217;utilizzo di un simile stratagemma per [...]]]></description>
			<content:encoded><![CDATA[<p>Joomla! riconosce un parametro &#8216;template&#8217; che se passato al caricamento della pagina, effettua un override di quello attuale e carica il template con il nome pari al valore della variabile template, sia essa passata in GET che in POST.</p>
<p>Per quanto il modello MVC implementato da Joomla! 1.5 non richieda l&#8217;utilizzo di un simile stratagemma per cambiare aspetto a pagine differenti dello stesso componente, può essere utile (ad esempio per testare una versione con un template differente senza modificare le impostazioni dal back-end), richiamare la url del contenuto che vogliamo vedere con un template differente aggiungendo il parametro</p>
<p><code>&amp;template=nome_template</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pilloledijoomla.it/livello-intermedio/cambiare-template-con-un-parametro.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come creare un pacchetto di installazione per moduli e componenti.</title>
		<link>http://www.pilloledijoomla.it/livello-intermedio/come-creare-un-pacchetto-di-installazione-per-moduli-e-componenti.html</link>
		<comments>http://www.pilloledijoomla.it/livello-intermedio/come-creare-un-pacchetto-di-installazione-per-moduli-e-componenti.html#comments</comments>
		<pubDate>Mon, 16 Mar 2009 07:35:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[livello intermedio]]></category>
		<category><![CDATA[componenti]]></category>
		<category><![CDATA[installazione]]></category>
		<category><![CDATA[moduli]]></category>

		<guid isPermaLink="false">http://localhost/pillole/joomla/?p=78</guid>
		<description><![CDATA[Una volta scritto un componente può essere utile realizzarne il pacchetto di installazione per Joomla!
Il vantaggio è quello di poterlo instalare/disinstallare a piacimento ed in maniera semplice, utilizzando la funzione presente nel back-end del CMS.
Per fare ciò basterebbe comprimere in un file .zip (o un .tar.gz) quanto presente nella directory com_miocomponente se non fosse che [...]]]></description>
			<content:encoded><![CDATA[<p>Una volta scritto un componente può essere utile realizzarne il pacchetto di installazione per Joomla!</p>
<p>Il vantaggio è quello di poterlo instalare/disinstallare a piacimento ed in maniera semplice, utilizzando la funzione presente nel back-end del CMS.</p>
<p>Per fare ciò basterebbe comprimere in un file .zip (o un .tar.gz) quanto presente nella directory com_miocomponente se non fosse che spesso i pacchetti, in quanto programmi complessi, possono utilizzare tabelle di appoggio nel database e eventualmente dati necessari a questi per funzionare.</p>
<p>Per creare automaticamente tabelle nel database di Joomla! all&#8217;installazione del componente, inserirne valori e rimuovere tutto alla disinstallazione del componente, basta aggiungere alla directory del componente due file sql:</p>
<p><code>install.sql </code>- contenente le query di creazione della/e tabella/e e eventualmente dei dati da inserire, ad esempio:</p>
<p><code>DROP TABLE IF EXISTS `#__miatab`;</code></p>
<p><code>CREATE TABLE '#__miatab` (<br />
'id' INT NOT NULL AUTO_INCREMENT,<br />
'nome');</p>
<p></code></p>
<p><code>INSERT INTO '#__miatab' ('id', 'nome') VALUES (1, 'antonio');</code></p>
<p>NB: Notate l&#8217;utilizzo della costante #__ per il suffisso delle tabelle</p>
<p>Il file <code>uninstall.sql</code>, invece:</p>
<p><code>DROP TABLE IF EXISTS '#__miatab';</code></p>
<p>Importante ora è modificare il file xml che descrive il componente, aggiungendo (prima dei tag dei files):</p>
<p><code>&lt;install&gt;<br />
&lt;sql&gt;<br />
&lt;file charset="utf8" driver="mysql"&gt;install.sql&lt;/file&gt;<br />
&lt;/sql&gt;<br />
&lt;/install&gt;</code></p>
<p><code> </code></p>
<p><code>&lt;uninstall&gt;<br />
&lt;sql&gt;<br />
&lt;file charset="utf8" driver="mysql"&gt;uninstall.sql&lt;/file&gt;<br />
&lt;/sql&gt;<br />
&lt;/uninstall&gt;</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pilloledijoomla.it/livello-intermedio/come-creare-un-pacchetto-di-installazione-per-moduli-e-componenti.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

