<?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>Luizz</title>
	<atom:link href="http://www.luizz.it/feed" rel="self" type="application/rss+xml" />
	<link>http://www.luizz.it</link>
	<description>Appunti di lavoro per lo sviluppo di applicazioni WEB con CakePHP</description>
	<lastBuildDate>Thu, 02 Sep 2010 07:12:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Come ottenere una lista di tutti i componenti e relative actions</title>
		<link>http://www.luizz.it/380/cakephp/come-ottenere-una-lista-di-tutti-i-componenti-e-relative-actions</link>
		<comments>http://www.luizz.it/380/cakephp/come-ottenere-una-lista-di-tutti-i-componenti-e-relative-actions#comments</comments>
		<pubDate>Thu, 02 Sep 2010 07:12:27 +0000</pubDate>
		<dc:creator>Luizz</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Components]]></category>

		<guid isPermaLink="false">http://www.luizz.it/?p=380</guid>
		<description><![CDATA[Grazie a questo component, è facilissimo ! http://cakebaker.42dh.com/2006/07/21/how-to-list-all-controllers/]]></description>
			<content:encoded><![CDATA[<p>Grazie a questo component, è facilissimo !</p>
<p><a href="http://cakebaker.42dh.com/2006/07/21/how-to-list-all-controllers/" target="_blank">http://cakebaker.42dh.com/2006/07/21/how-to-list-all-controllers/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.luizz.it/380/cakephp/come-ottenere-una-lista-di-tutti-i-componenti-e-relative-actions/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Behavior Linkable: dove non arriva Containable</title>
		<link>http://www.luizz.it/346/cakephp/behavior-linkable-dove-non-arriva-containable</link>
		<comments>http://www.luizz.it/346/cakephp/behavior-linkable-dove-non-arriva-containable#comments</comments>
		<pubDate>Fri, 06 Aug 2010 19:38:25 +0000</pubDate>
		<dc:creator>Luizz</dc:creator>
				<category><![CDATA[Behaviors]]></category>
		<category><![CDATA[CakePHP]]></category>

		<guid isPermaLink="false">http://www.luizz.it/?p=346</guid>
		<description><![CDATA[Grazie al suggerimento di Tox che ha + fiuto del cane di Lycos nello scovare risorse in rete, ho provato il LinkableBehavior per risolvere un problema con una query che con Containable non riuscivo a rendere efficente. Problema Ho il seguente schema di modelli: Regions hasMany District hasMany City hasMany Customer. Ho necesità di ottenere [...]]]></description>
			<content:encoded><![CDATA[<p>Grazie al suggerimento di <a href="http://www.emanuele.itoscano.com/">Tox</a> che ha + fiuto del cane di Lycos nello scovare risorse in rete, ho provato il  <a href="http://github.com/rafaelbandeira3/linkable">LinkableBehavior</a> per risolvere un problema con una query che con Containable non riuscivo a rendere efficente.</p>
<p><strong>Problema</strong></p>
<p>Ho il seguente schema di modelli:<br />
Regions hasMany District hasMany City hasMany Customer.<br />
Ho necesità di ottenere l&#8217;elenco dei clienti (Customer) che risiedono nella provincia (District) di Torino (id=1).</p>
<p><strong>Soluzione con LinkableBehavior</strong></p>
<p>Model:</p>
<pre class="brush:php">var $actsAs = array('Linkable');</pre>
<p>Codice:</p>
<pre class="brush:php">
$customers = $this->District->City->Customer->find('all',array(
        'link'=>array('City'=>array('District')),
        'conditions'=>array('District.id'=>$id),
        'fields'=>array('Customer.id','Customer.nome','Customer.cognome','City.name')))
</pre>
<p>Risultato:</p>
<pre class="brush:php">

Array
(
    [0] => Array
        (
            [Customer] => Array
                (
                    [id] => 1
                    [nome] => Giuseppe
                    [cognome] => De Santis
                )

            [City] => Array
                (
                    [name] => Buttigliera Alta
                )

        )

)
</pre>
<p>Query eseguita (unica):</p>
<pre class="brush:php">
SELECT `Customer`.`id`, `Customer`.`nome`, `Customer`.`cognome`, `City`.`name` FROM `customers` AS `Customer` LEFT JOIN `cities` AS `City` ON (`City`.`id` = `Customer`.`city_id`) LEFT JOIN `districts` AS `District` ON (`District`.`id` = `City`.`district_id`) WHERE `District`.`id` = 1
</pre>
<p>Meglio di così&#8230;. </p>
<p>Risorsa utile: <a href="http://planetcakephp.org/aggregator/items/891-linkable-behavior-taking-it-easy-in-your-db">http://planetcakephp.org/aggregator/items/891-linkable-behavior-taking-it-easy-in-your-db</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.luizz.it/346/cakephp/behavior-linkable-dove-non-arriva-containable/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Effetti JQuery in CakePHP 1.3</title>
		<link>http://www.luizz.it/329/cakephp/effetti-jquery-in-cakephp-1-3</link>
		<comments>http://www.luizz.it/329/cakephp/effetti-jquery-in-cakephp-1-3#comments</comments>
		<pubDate>Thu, 29 Jul 2010 11:08:00 +0000</pubDate>
		<dc:creator>Luizz</dc:creator>
				<category><![CDATA[CakePHP]]></category>

		<guid isPermaLink="false">http://www.luizz.it/?p=329</guid>
		<description><![CDATA[Con CakePHP 1.3 è possibile sfruttare altri framework Javascript oltre all&#8217;accoppiata Prototype/Scriptaculous utilizzando il JsHelper. Per utilizzare JQuery è sufficiente seguire le istruzioni del manuale on line http://book.cakephp.org/view/1592/Js che riassumo di seguito. Scaricare JQuery http://docs.jquery.com/Downloading_jQuery Copiare gli script in app/webroot/js Includere la libreria in tutte le pagine. Per fare questo si può modificare il file [...]]]></description>
			<content:encoded><![CDATA[<p>Con CakePHP 1.3 è possibile sfruttare altri framework Javascript oltre all&#8217;accoppiata Prototype/Scriptaculous utilizzando il JsHelper.<br />
Per utilizzare JQuery è sufficiente seguire le istruzioni del manuale on line http://book.cakephp.org/view/1592/Js che riassumo di seguito.</p>
<ol>
<li>Scaricare JQuery <a href="http://docs.jquery.com/Downloading_jQuery" target="_blank">http://docs.jquery.com/Downloading_jQuery</a></li>
<li>Copiare gli script in app/webroot/js</li>
<li>Includere la libreria in tutte le pagine. Per fare questo si può modificare il file /app/views/layout/default.ctp inserendo il codice
<pre class="brush:php">echo $this-&gt;Html-&gt;script('jquery-1.4.2.min'); </pre>
<p>nella sezione &lt;head&gt;&lt;/head&gt;.</li>
<li>Includere il seguente comando
<pre class="brush:php">echo $js-&gt;writeBuffer();</pre>
<p>prima del tag &lt;/body&gt;</li>
<li>Richiamare il JsHelper inserendo il seguente codice nel controller
<pre class="brush:php">var $helpers = array('Js' =&gt; array('Jquery'));</pre>
</li>
</ol>
<p>A questo punto siamo pronti per utilizzare gli effetti di JQuery nelle nostre views</p>
<p>Nella view inseriamo il seguente codice che permette di mostrare o nascondere un DIV con effetto slide.<br />
Creiamo i link e il box</p>
<pre class="brush:php">
&lt;a href="#" id="apri"&gt;Apri il box&lt;/a&gt; | &lt;a href="#" id="chiudi"&gt;Chiudi il box&lt;/a&gt;
&lt;div id="box" style=" border: 1px solid green; height:200px; width:100px; display:none"&gt;&lt;/div&gt;
</pre>
<p>e poi aggiungiamo il codice PHP</p>
<pre class="brush:php">
 $apri = $js-&gt;get("#box")-&gt;effect('slideIn');
 $chiudi = $js-&gt;get("#box")-&gt;effect('slideOut');
 $js-&gt;get("#apri")-&gt;event('click', $apri );
 $js-&gt;get("#chiudi")-&gt;event('click', $chiudi );</pre>
<p>Volendo includere un effetto non disponibile con JsHelper è possibile inserire del codice nativo JQuery e riutilizzarlo nel seguente modo</p>
<pre class="brush:php">$codice = '$("#box").toggle("blind",{},500);';
$js->get("#toggle")->event('click', $codice );
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.luizz.it/329/cakephp/effetti-jquery-in-cakephp-1-3/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Gestione delle immagini in WordPress: un bel plug-in</title>
		<link>http://www.luizz.it/315/wordpress/gestione-delle-immagini-in-wordpress-un-bel-plug-in</link>
		<comments>http://www.luizz.it/315/wordpress/gestione-delle-immagini-in-wordpress-un-bel-plug-in#comments</comments>
		<pubDate>Tue, 08 Jun 2010 10:39:39 +0000</pubDate>
		<dc:creator>Luizz</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.luizz.it/?p=315</guid>
		<description><![CDATA[Un plug-in molto utile per gestire un sito con molte immagini: Lightbox Plus. Con un solo plug-in puoi si può applicare l&#8217;effetto Lightbox al click su una singola immagine o sulla galleria nativa di WordPress. Inoltre si può attivare l&#8217;avvio della slideshow quando si apre una galleria di immagini. Il link al sito dell&#8217;autore del [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_322" class="wp-caption alignleft" style="width: 160px"><img class="size-thumbnail wp-image-322 " style="border: 0pt none; margin-top: 5px; margin-bottom: 5px;" title="wordpress" src="http://www.luizz.it/wp-content/uploads/2010/06/wordpress-150x150.png" alt="" width="150" height="150" /><p class="wp-caption-text">Wordpress Plug-in</p></div>
<p>Un plug-in molto utile per gestire un sito con molte immagini: <a href="http://wordpress.org/extend/plugins/lightbox-plus/">Lightbox Plus</a>.<br />
Con un solo plug-in puoi si può applicare l&#8217;effetto <a href="http://www.huddletogether.com/projects/lightbox2/">Lightbox</a> al click su una singola immagine o sulla galleria nativa di WordPress.<br />
Inoltre si può attivare l&#8217;avvio della slideshow quando si apre una galleria di immagini.<br />
Il link al <a href="http://www.23systems.net/plugins/lightbox-plus/">sito dell&#8217;autore del plug-in</a></p>
<p>Altro plug-in interessante per includere una galleria di immagini in un post è <a href="http://cameronpreston.com/projects/plugins/slideshow-gallery-2/">Slideshow Gallery 2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.luizz.it/315/wordpress/gestione-delle-immagini-in-wordpress-un-bel-plug-in/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Autenticazione su server Samba con Windows Vista</title>
		<link>http://www.luizz.it/269/linux/autenticazione-su-server-samba-con-windows-vista</link>
		<comments>http://www.luizz.it/269/linux/autenticazione-su-server-samba-con-windows-vista#comments</comments>
		<pubDate>Wed, 17 Mar 2010 08:42:02 +0000</pubDate>
		<dc:creator>Luizz</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[condivisione]]></category>
		<category><![CDATA[rete]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.luizz.it/?p=269</guid>
		<description><![CDATA[In caso di problemi nell&#8217;autenticazione di un utente che usa Windows Vista su un server Samba è sufficente apportare una piccola modifica di configurazione. La procedura è la seguente Dal menu principale lanciare &#8220;Esegui&#8221; e digitare &#8220;secpol.msc&#8221; + invio. Premere il bottone &#8220;continua&#8221; quando richiesto da Vista. Click su &#8220;Criteri locali&#8221; &#8211;> &#8220;Opzioni di protezione&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.luizz.it/wp-content/uploads/2010/03/samba.jpg" alt="" title="samba" width="128" height="128" class="alignleft size-full wp-image-272"  align="left"/></p>
<p>In caso di problemi nell&#8217;autenticazione di un utente che usa Windows Vista su un server Samba è sufficente apportare una piccola modifica di configurazione.</p>
<p>La procedura è la seguente</p>
<ol>
<li>Dal menu principale lanciare &#8220;Esegui&#8221; e digitare &#8220;secpol.msc&#8221; + invio.</li>
<li> Premere il bottone &#8220;continua&#8221; quando richiesto da Vista.</li>
<li> Click su &#8220;Criteri locali&#8221; &#8211;> &#8220;Opzioni di protezione&#8221;</li>
<li> Scorrere l&#8217;elenco fino alla voce &#8220;Protezione di rete: Livello di autenticazione di LAN Manager&#8221; e aprirlo </li>
<li>Scegliere la regola &#8220;Invia LM e NTLM; usa protezione sessione NTLMv2 se negoziata&#8221;</li>
<li>Applica</li>
</ol>
<p>L&#8217;articolo originale lo trovate qui <a href="http://www.builderau.com.au/blogs/codemonkeybusiness/viewblogpost.htm?p=339270746">http://www.builderau.com.au/blogs/codemonkeybusiness/viewblogpost.htm?p=339270746</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.luizz.it/269/linux/autenticazione-su-server-samba-con-windows-vista/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notepad++ : come far riconoscere l&#8217;HTML nei template .ctp e .thtml0</title>
		<link>http://www.luizz.it/14/cakephp/notepad-come-far-riconoscere-lhtml-nei-template</link>
		<comments>http://www.luizz.it/14/cakephp/notepad-come-far-riconoscere-lhtml-nei-template#comments</comments>
		<pubDate>Thu, 07 Jan 2010 20:52:36 +0000</pubDate>
		<dc:creator>Luizz</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[.ctp]]></category>
		<category><![CDATA[dreamweaver]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[notepad++]]></category>

		<guid isPermaLink="false">http://luizz/?p=14</guid>
		<description><![CDATA[Un editor leggero e veloce che uso al posto del classico blocco note e anche per eseguire delle piccole modifiche su semplici progetti. Per progetti in php + complessi uso Eclipse con plugin legati al PHP. Utilizzando massicciamente i template con i vari sistemi da me utilizzati (Smarty, CakePHP, ecc), mi trovo di fronte a [...]]]></description>
			<content:encoded><![CDATA[<p>Un editor leggero e veloce che uso al posto del classico blocco note e anche per eseguire delle piccole modifiche su semplici progetti.<br />
Per progetti in php + complessi uso Eclipse con plugin legati al PHP.</p>
<p>Utilizzando massicciamente i template con i vari sistemi da me utilizzati (Smarty, CakePHP, ecc), mi trovo di fronte a estensioni del tipo tpl, thtml, che non contengono altro che codice HTML, ma che non sono riconosciuti dall&#8217;editor come tali e quindi non viene attivata la colorazione del codice.</p>
<p>Per Notepad++ è sufficente aggiungere l&#8217;estensione nel file langs.xml che si trova nella directory di installazione del programma.</p>
<p>La dove è definito il linguaggio html</p>
<pre class="brush:html"><Language name="html" ext="html htm" commentLine="" commentStart="<!--" commentEnd="-->"></pre>
<p>E&#8217; sufficente aggiungere le estensioni da associare all&#8217;HTML</p>
<pre class="brush:html"><Language name="html" ext="html htm thtml ctp" commentLine="" commentStart="<!--" commentEnd="-->"></pre>
<p>e poi registrare le due estensioni selezionando da menu:</p>
<p><em>CONFIGURAZIONE > OPZIONI > ASSOCIAZIONE TIPI DI FILE > CUSTOMIZE</em></p>
<p>e inserire nel campo le estensioni &#8220;thtml&#8221; e &#8220;ctp&#8221;  per poi trasferirle con la freccietta</p>
<p><img src='http://www.luizz.it/wp-content/uploads/2008/01/cakenotepad.gif' alt='Impostazioni di Notepad++' /></p>
<p>Per abilitare la gestione in Dreamweaver, potete seguire questo tutorial: <a href="http://www.techwave.it/blog/2010/03/09/visualizzare-i-files-thtml-e-ctp-in-dreamweaver/">http://www.techwave.it/blog/2010/03/09/visualizzare-i-files-thtml-e-ctp-in-dreamweaver/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.luizz.it/14/cakephp/notepad-come-far-riconoscere-lhtml-nei-template/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Una lista dei desideri per chi passa definitivamente a Linux</title>
		<link>http://www.luizz.it/245/linux/una-lista-dei-desideri-per-chi-passa-definitivamente-a-linux</link>
		<comments>http://www.luizz.it/245/linux/una-lista-dei-desideri-per-chi-passa-definitivamente-a-linux#comments</comments>
		<pubDate>Wed, 09 Dec 2009 09:56:38 +0000</pubDate>
		<dc:creator>Luizz</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.luizz.it/?p=245</guid>
		<description><![CDATA[Mollato definitivamente Windows in ogni sua versione, sono finalmente libero da costi legati al software. Però bisogna ammetterlo: c&#8217;è un prezzo da pagare ! Tutto quello che facevo prima con Windows non posso ritrovarlo immediatamente nelle stesse modalità in Ubuntu, anche se il riconoscimento e la corretta installazione di tutte le periferiche è già un [...]]]></description>
			<content:encoded><![CDATA[<p>Mollato definitivamente Windows in ogni sua versione, sono finalmente libero da costi legati al software.<br />
Però bisogna ammetterlo: c&#8217;è un prezzo da pagare ! Tutto quello che facevo prima con Windows non posso ritrovarlo immediatamente nelle stesse modalità in Ubuntu, anche se il riconoscimento e la corretta installazione di tutte le periferiche è già un bel passo avanti.<br />
Ecco allora una wishlist (lista dei desideri) che comprende tutte le cose che vorrei poter fare facilmente con il mio Ubuntu. Man mano che otterrò la funzione che mi serve pubblicherò un appunto facendo diventare questa lista una piccola raccolta di soluzioni per gestire facilmente il PC per l&#8217;uso domestico.<br />
Sono ben accetti consigli, richieste e indicazioni nei commenti !!</p>
<h3>La mia Ubuntu Wishlist</h3>
<ul>
<ol>Convertire un DVD in DViX</p>
<ul>
<li>k9copy</li>
<li>dvd::rip</li>
</ul>
</ol>
<ol>Eseguire una copia di backup da DVD a DVD
<ul>
<li>k9copy</li>
</ul>
</ol>
<ol>Montare un filmato amatoriale e creare un DVD dalla videocamera</p>
<ul>
<li>kdenlive</li>
<li>PiTiVi</li>
</ul>
</ol>
<ol>Scaricare foto dalla macchinetta, modificarle e gestirle</p>
<ul>
<li>Picasa</li>
<li>F-spot</li>
</ul>
</ol>
<ol>Eseguire un backup dei dati personali</ol>
<ol>VideoComunicare on-line con Skype</ol>
<ol>Ascoltare musica sul PC</ol>
<ol>Scrivere, calcolare e disegnare </ol>
</ul>
<p>Un likn interessante.<br />
<a href="http://www.freeonline.org/articolo_linux_dtml/a-400/programmi-linux.htm">http://www.freeonline.org/articolo_linux_dtml/a-400/programmi-linux.htm</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.luizz.it/245/linux/una-lista-dei-desideri-per-chi-passa-definitivamente-a-linux/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Controllare lo stato di un campo con AJAX e CakePHP</title>
		<link>http://www.luizz.it/234/cakephp/controllare-lo-stato-di-un-campo-con-ajax-e-cakephp</link>
		<comments>http://www.luizz.it/234/cakephp/controllare-lo-stato-di-un-campo-con-ajax-e-cakephp#comments</comments>
		<pubDate>Sat, 21 Nov 2009 09:14:53 +0000</pubDate>
		<dc:creator>Luizz</dc:creator>
				<category><![CDATA[CakePHP]]></category>

		<guid isPermaLink="false">http://www.luizz.it/?p=234</guid>
		<description><![CDATA[Immaginiamo di avere un form con una select che mi permette di selezionare la nazione a cui fa riferimento l&#8217;articolo. Voglio consentire che l&#8217;utente traduca la nazione selezionata nella sua lingua nativa senza uscire dalla compilazione del form. create('Article'); echo $form->input('country_id'); // select echo $form->submit(); Dopo aver chiuso il form echo $ajax->observeField( 'ArticleCountryId', array( 'url' [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_240" class="wp-caption left" style="width: 310px"><img src="http://www.luizz.it/wp-content/uploads/2009/11/photo_8703_20091013-300x225.jpg" alt="Foto di Danilo Rizzuti" title="photo_8703_20091013" width="300" height="225" class="size-medium wp-image-240" /><p class="wp-caption-text">Foto di Danilo Rizzuti</p></div> Immaginiamo di avere un form con una select che mi permette di selezionare la nazione a cui fa riferimento l&#8217;articolo.<br />
Voglio consentire che l&#8217;utente traduca la nazione selezionata nella sua lingua nativa senza uscire dalla compilazione del form.<br />
<span id="more-234"></span></p>
<pre  class="brush:html"
echo $form->create('Article');
echo $form->input('country_id'); // select
echo $form->submit();
</pre>
<p>Dopo aver chiuso il form</p>
<pre class="brush:html">

 echo $ajax->observeField( 'ArticleCountryId',
	 array(
			 'url' => array( 'controller'=>'countries','action' => 'traduci' ),
			 'update' => 'trad_nation',
			 'frequency' => 0.2,
	 )
 );
</pre>
<p>A questo punto è sufficente creare una function &#8220;traduci&#8221; nel controller &#8220;countries&#8221; il quale riceverà il valore del campo appena selezionato nella proprietà $this->data</p>
<pre class="brush:html">
	$this->Country->id = $this->data['Article']['country_id'];
</pre>
<p>e creare un bel form (sempre con AJAX) che aggiorni il campo tradotto.</p>
<p>Ricordatevi di attivare i component &#8220;AJAX&#8221; e &#8220;Javascript&#8221;, oltre a includere </p>
<pre class="brush:html">
	echo $javascript->link('prototype',false);
	echo $javascript->link('scriptaculous',false);
</pre>
<p>tra gli script da caricare.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.luizz.it/234/cakephp/controllare-lo-stato-di-un-campo-con-ajax-e-cakephp/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Cakephp: leggere la configurazione del database</title>
		<link>http://www.luizz.it/223/cakephp/cakephp-leggere-la-configurazione-del-database</link>
		<comments>http://www.luizz.it/223/cakephp/cakephp-leggere-la-configurazione-del-database#comments</comments>
		<pubDate>Sat, 03 Oct 2009 07:31:26 +0000</pubDate>
		<dc:creator>Luizz</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[cakephp database parametri]]></category>

		<guid isPermaLink="false">http://www.luizz.it/?p=223</guid>
		<description><![CDATA[A volte si usano Vendors di terze parti che hanno un proprio accesso al DB, quindi è utile passare i parametri di collegamento al DB specificati in app/config/database.php. if (class_exists('DATABASE_CONFIG')) { $dbconfig =&#038; new DATABASE_CONFIG(); } $host = $dbconfig->default['host']; $login = $dbconfig->default['login ']; $password= $dbconfig->default['password'];]]></description>
			<content:encoded><![CDATA[<p>A volte si usano Vendors di terze parti che hanno un proprio accesso al DB, quindi è utile passare i parametri di collegamento al DB specificati in app/config/database.php.</p>
<pre class="brush:html">
if (class_exists('DATABASE_CONFIG')) {
	$dbconfig =&#038; new DATABASE_CONFIG();
}

$host = $dbconfig->default['host'];
$login = $dbconfig->default['login '];
$password= $dbconfig->default['password'];
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.luizz.it/223/cakephp/cakephp-leggere-la-configurazione-del-database/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ordinare i risultati con i campi dei model associati ricorsivamente: ORDER BY FIELD.</title>
		<link>http://www.luizz.it/213/cakephp/ordinare-i-risultati-con-i-campi-dei-model-associati-ricorsivamente</link>
		<comments>http://www.luizz.it/213/cakephp/ordinare-i-risultati-con-i-campi-dei-model-associati-ricorsivamente#comments</comments>
		<pubDate>Mon, 14 Sep 2009 11:29:13 +0000</pubDate>
		<dc:creator>Luizz</dc:creator>
				<category><![CDATA[CakePHP]]></category>

		<guid isPermaLink="false">http://www.luizz.it/?p=213</guid>
		<description><![CDATA[Il titolo è un po&#8217; contorto, ma non sono riuscito a trovare di meglio. L&#8217;esigenza nasce quando voglio ordinare il risultato di una query che vede interessati vari Model utilizzando un determinato campo per l&#8217;ordinamento. Faccio l&#8217;esempio: ho i seguenti model e le seguenti relazioni. Continent hasMany Country Country hasMany News Il modello Continent ha [...]]]></description>
			<content:encoded><![CDATA[<p>Il titolo è un po&#8217; contorto, ma non sono riuscito a trovare di meglio.<br />
L&#8217;esigenza nasce quando voglio ordinare il risultato di una query che vede interessati vari Model utilizzando un determinato campo per l&#8217;ordinamento.<br />
Faccio l&#8217;esempio: ho i seguenti model e le seguenti relazioni.</p>
<p>Continent hasMany Country<br />
Country hasMany News</p>
<p>Il modello Continent ha un campo &#8216;order&#8217; che serve a mantenere un determinato ordine di presentazione per i continenti.<br />
Voglio ottenere una lista di News ordinate per Continent.order.<br />
Poichè il model News ha molte relazioni con altri model (Tag, Area, Comment, ecc. ecc. ), utilizzo il behavior Containable.<br />
A questo punto non è sufficente impostare l&#8217;elemento &#8216;order&#8217; a &#8216;Continent.order ASC&#8217;, perchè la query restituisce un errore. Infatti CakePHP esegue prima una query per ricavare l&#8217;elenco delle News e per ogni News ricavata esegue una successiva query per determinare il continente relativo al country.</p>
<pre class="brush:html">
//
$this->Continent->find('all', array('order' => 'Continent.name')) // Restituisce un errore nell query SQL
//
 </pre>
<p><strong>SOLUZIONI</strong><br />
Una soluzione generica che risolve ampiamente il problema è impiegare <a href="http://lloydhome.com/blog/development/2009/recursive-association-support-cakephp-12">questo behavior</a> suggeritomi da fzanardo nel forum, ma che non ho personalmente provato.</p>
<p>Una soluzione light invece è la seguente:</p>
<pre class="brush:html">
// estraggo gli di dei continenti ordinati in base al campo 'order'
$continents = array_keys($this->News->Country->Continent->find('list',array('fields'=>array('id','order'),'recursive'=>-1,'order'=>'order')));

$lista = $this->News->find('all',array(	'conditions'=>$conditions,
												'contain'=>array(
															'Area',
															'Country'=>array('Continent'),
														),
												'order' => array('FIELD(Country.continent_id,'.implode(',',$continents).')')
</pre>
<p>ORDER BY FIELD(Country.continent_id, 1,4,3,6,5,2) sarà l&#8217;impostazione del&#8217;ordine che consentirà di ottenere l&#8217;ordine voluto, mantenendo  la query leggera.<br />
Riferimento: http://cakebaker.42dh.com/2008/06/10/order-by-field/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.luizz.it/213/cakephp/ordinare-i-risultati-con-i-campi-dei-model-associati-ricorsivamente/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
