<?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 &#187; CakePHP</title>
	<atom:link href="http://www.luizz.it/category/cakephp/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, 05 Jan 2012 08:48:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Notepad++ : come far riconoscere i file .ctp come .php</title>
		<link>http://www.luizz.it/491/cakephp/notepad-come-far-riconoscere-i-file-ctp-come-php</link>
		<comments>http://www.luizz.it/491/cakephp/notepad-come-far-riconoscere-i-file-ctp-come-php#comments</comments>
		<pubDate>Thu, 05 Jan 2012 08:48:12 +0000</pubDate>
		<dc:creator>Luizz</dc:creator>
				<category><![CDATA[CakePHP]]></category>

		<guid isPermaLink="false">http://www.luizz.it/?p=491</guid>
		<description><![CDATA[Avevo già parlato di come configurare Notepad++ per far riconoscere il codice HTML e PHP presente nei file .ctp, usati da CakePHP per la creazione di templates. Questa che riporto è una procedura che non richiede la modifica manuale dei file di configurazione di Notepad++ aprire Notepad++ e selezionare dal menu &#8220;Configurazione &#62; Configura gli [...]]]></description>
			<content:encoded><![CDATA[<p>Avevo <a title="Notepad++ : come far riconoscere l’HTML nei template .ctp e .thtml0" href="http://www.luizz.it/14/cakephp/notepad-come-far-riconoscere-lhtml-nei-template">già parlato </a>di come configurare Notepad++ per far riconoscere il codice HTML e PHP presente nei file .ctp, usati da CakePHP per la creazione di templates.</p>
<p>Questa che riporto è una procedura che non richiede la modifica manuale dei file di configurazione di Notepad++</p>
<ol>
<li>aprire Notepad++ e selezionare dal menu &#8220;Configurazione &gt; Configura gli slili &#8230;&#8221;;</li>
<li>nella colonna &#8220;Linguaggio&#8221; selezionare &#8220;PHP&#8221;;</li>
<li>nel campo in basso sotto la colonna &#8220;Stile&#8221; inserire &#8220;ctp&#8221;</li>
<li>fare click su Salva &amp; Chiudi</li>
<li>riavviare Notepad++</li>
</ol>
<p>Ora il codice dei file .ctp verrà interpretato e colorato come fossero file .php</p>
]]></content:encoded>
			<wfw:commentRss>http://www.luizz.it/491/cakephp/notepad-come-far-riconoscere-i-file-ctp-come-php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP: Security.salt e Security.cipherSeed generator</title>
		<link>http://www.luizz.it/479/cakephp/cakephp-security-salt-e-security-cipherseed</link>
		<comments>http://www.luizz.it/479/cakephp/cakephp-security-salt-e-security-cipherseed#comments</comments>
		<pubDate>Tue, 13 Dec 2011 10:32:17 +0000</pubDate>
		<dc:creator>Luizz</dc:creator>
				<category><![CDATA[CakePHP]]></category>

		<guid isPermaLink="false">http://www.luizz.it/?p=479</guid>
		<description><![CDATA[Semplicissima utility che ho scritto per generare automaticamente i due valori da impostare ogni qualvolta si installa CakePHP. Uso: copia e incolla nel file app/config/core.php sostituendo quelli esistenti. Per avere un&#8217;altra coppia di valori casuali, fare un refresh della pagina. Visita l&#8217;indirizzo http://www.luizz.it/wp-content/random.php]]></description>
			<content:encoded><![CDATA[<p>Semplicissima utility che ho scritto per generare automaticamente i due valori da impostare ogni qualvolta si installa CakePHP.</p>
<p>Uso: copia e incolla nel file app/config/core.php sostituendo quelli esistenti.</p>
<p>Per avere un&#8217;altra coppia di valori casuali, fare un refresh della pagina.<span id="more-479"></span></p>
<p><iframe style="border: 1px solid #cccccc;width:100%;height:50" src="http://www.luizz.it/wp-content/random.php" >Visita l&#8217;indirizzo http://www.luizz.it/wp-content/random.php</iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.luizz.it/479/cakephp/cakephp-security-salt-e-security-cipherseed/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Validazione con regole multiple e traduzioni dei messaggi</title>
		<link>http://www.luizz.it/440/cakephp/validazione-con-regole-multiple-e-traduzioni-dei-messaggi</link>
		<comments>http://www.luizz.it/440/cakephp/validazione-con-regole-multiple-e-traduzioni-dei-messaggi#comments</comments>
		<pubDate>Sat, 04 Jun 2011 10:22:42 +0000</pubDate>
		<dc:creator>Luizz</dc:creator>
				<category><![CDATA[CakePHP]]></category>

		<guid isPermaLink="false">http://www.luizz.it/?p=440</guid>
		<description><![CDATA[Per chi deve lavorare pesantemente con le validazioni e deve realizzare un sito multilingua, è utilissimo leggere bene prima questo articolo del grande Mariano Iglesias: http://bakery.cakephp.org/articles/mariano/2007/05/16/multiple-rules-of-validation-per-field-in-cakephp-1-2]]></description>
			<content:encoded><![CDATA[<p>Per chi deve lavorare pesantemente con le validazioni e deve realizzare un sito multilingua, è utilissimo leggere bene prima questo articolo del grande Mariano Iglesias:<br />
<a href="http://bakery.cakephp.org/articles/mariano/2007/05/16/multiple-rules-of-validation-per-field-in-cakephp-1-2">http://bakery.cakephp.org/articles/mariano/2007/05/16/multiple-rules-of-validation-per-field-in-cakephp-1-2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.luizz.it/440/cakephp/validazione-con-regole-multiple-e-traduzioni-dei-messaggi/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Select multipli (o in cascata) in CakePHP con JQuery e AJAX</title>
		<link>http://www.luizz.it/392/cakephp/select-multipli-o-in-cascata-in-cakephp-con-jquery-e-ajax</link>
		<comments>http://www.luizz.it/392/cakephp/select-multipli-o-in-cascata-in-cakephp-con-jquery-e-ajax#comments</comments>
		<pubDate>Tue, 07 Dec 2010 10:52:24 +0000</pubDate>
		<dc:creator>Luizz</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://www.luizz.it/?p=392</guid>
		<description><![CDATA[E&#8217; un classico problema per i form da utilizzare nelle web application: selezionare in una select un elemento e popolare una seconda select con elementi ottenuti dalla scelta della prima. Il tipico esempio è quello della scelta del Comune: per facilitare la vita all&#8217;utente gli si chiede di selezionare la provincia in una prima select [...]]]></description>
			<content:encoded><![CDATA[<p>E&#8217; un classico problema per i form da utilizzare nelle web application: selezionare in una select un elemento e popolare una seconda select con elementi ottenuti dalla scelta della prima.<br />
Il tipico esempio è quello della scelta del Comune: per facilitare la vita all&#8217;utente gli si chiede di selezionare la provincia in una prima select per poi scegliere nella seconda tra i comuni della sola provincia selezionata.<br />
Tra i vari modi di ottenere delle select in cascata, ho scelto di sfruttare JQuery, ma soprattutto gli oggetti messi a disposizione da CakePHP nella versione 1.3 per accedervi facilmente.</p>
<h2>Installazione di JQuery</h2>
<p>Si potrebbe scaricare la libreria sul proprio server e richiamarla da lì, ma preferisco richiamarle dal repository di Google.</p>
<pre class="brush: php; title: ; notranslate">echo $this-&amp;gt;Html-&amp;gt;script(array('https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js'));</pre>
<p>per inserirla nel layout, oppure</p>
<pre class="brush:php">$this-&gt;Html-&gt;script(array('https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js'),false);</pre>
<p>da utilizzare occasionalmente nella view.</p>
<h2>Nel layout</h2>
<p>Si deve aggiungere un comando per la scrittura della cache degli script prima del tag di chiusura</p>
<pre class="brush:php">echo $this-&gt;Js-&gt;writeBuffer(); // Write cached scripts</pre>
<h2>Nel controller</h2>
<p>Immaginiamo di dover scegliere la città per un utente, quindi nel controller Users richiamiamo l&#8217;heleper</p>
<pre class="brush:php">var $helpers = array('Js' =&gt; array('Jquery'));</pre>
<p>Popoliamo la prima select con i nomi delle province (districts)</p>
<pre class="brush:php">	function add(){
		$this-&gt;set('districts',$this-&gt;User-&gt;City-&gt;District-&gt;find('list'));
	}</pre>
<p>Per ottenere l&#8217;elenco delle città in base alla provincia selezionata si deve creare un metodo del controller Cities</p>
<pre class="brush:php">function getCities(){
		$this-&gt;layout="ajax";
		$district_id = $this-&gt;data['City']['district_id'];
		$cities = $this-&gt;City-&gt;find('list',array('conditions'=&gt;array('City.district_id'=&gt;$district_id)));
		$this-&gt;set('cities',$cities);
}</pre>
<h2>Nella view Cities/getCities</h2>
<pre class="brush:php">
foreach($cities as $k=&gt;$v){

	echo "
<option value="\&quot;$k\&quot;"> $v </option>

";

}</pre>
<h2>Nella view Users/add</h2>
<pre class="brush:php">echo $this-&gt;Form-&gt;create();
echo $this-&gt;Form-&gt;input('district_id',array('empty'=&gt;true));
echo $this-&gt;Form-&gt;input('city_id',array('type'=&gt;'select'));
echo $this-&gt;Form-&gt;end('Invia');</pre>
<p>A questo punto bisogna inserire il codice JQuery che attiva il meccanismo, ma lo facciamo utilizzando i metodi del component JS.<br />
Inserire prima del form il seguente codice:</p>
<pre class="brush:php">$this-&gt;Js-&gt;get('#UserDistrictId')-&gt;event('change',
				$this-&gt;Js-&gt;request(array('controller'=&gt;'cities','action' =&gt; 'getCities'),
						array(
							'method' =&gt; 'POST',
							'type'=&gt;'json',
							'async' =&gt; true,
							'update' =&gt; '#UserCityId',
							'dataExpression'=&gt;true,
							'data'=&gt;$this-&gt;Js-&gt;serializeForm(array('isForm' =&gt; true, 'inline' =&gt; true))
						)
					)
			);</pre>
<p>Fare attenzione al nome delle select interessate, utilizzando la notazione CSS per la loro identificazione &#8216;#nomecampo&#8217; e la convenzione di CakePHP.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.luizz.it/392/cakephp/select-multipli-o-in-cascata-in-cakephp-con-jquery-e-ajax/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CakePHP: un campo data con i mesi in italiano</title>
		<link>http://www.luizz.it/384/cakephp/cakephp-un-campo-data-con-i-mesi-in-italiano</link>
		<comments>http://www.luizz.it/384/cakephp/cakephp-un-campo-data-con-i-mesi-in-italiano#comments</comments>
		<pubDate>Wed, 29 Sep 2010 06:52:51 +0000</pubDate>
		<dc:creator>Luizz</dc:creator>
				<category><![CDATA[CakePHP]]></category>

		<guid isPermaLink="false">http://www.luizz.it/?p=384</guid>
		<description><![CDATA[Volendo utilizzare un campo data, quello con le select per giorno mese e anno, avendo i nomi dei mesi in italiano, è sufficente sfruttare l&#8217;opzione offerta dalla funzione. $mesi = array('Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno','Luglio','Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'); echo $this->Form->input('datanascita', array('type'=>'date','label'=>'Data di nascita', 'dateFormat'=> 'DMY', 'monthNames'=>$mesi));]]></description>
			<content:encoded><![CDATA[<p>Volendo utilizzare un campo data, quello con le select per giorno mese e anno, avendo i nomi dei mesi in italiano, è sufficente sfruttare l&#8217;opzione offerta dalla funzione.</p>
<pre class="brush:php">
$mesi = array('Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno','Luglio','Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre');
echo $this->Form->input('datanascita', array('type'=>'date','label'=>'Data di nascita', 'dateFormat'=> 'DMY', 'monthNames'=>$mesi));
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.luizz.it/384/cakephp/cakephp-un-campo-data-con-i-mesi-in-italiano/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<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; title: ; notranslate">var $actsAs = array('Linkable');</pre>
<p>Codice:</p>
<pre class="brush: php; title: ; notranslate">
$customers = $this-&gt;District-&gt;City-&gt;Customer-&gt;find('all',array(
        'link'=&gt;array('City'=&gt;array('District')),
        'conditions'=&gt;array('District.id'=&gt;$id),
        'fields'=&gt;array('Customer.id','Customer.nome','Customer.cognome','City.name')))
</pre>
<p>Risultato:</p>
<pre class="brush: php; title: ; notranslate">

Array
(
    [0] =&gt; Array
        (
            [Customer] =&gt; Array
                (
                    [id] =&gt; 1
                    [nome] =&gt; Giuseppe
                    [cognome] =&gt; De Santis
                )

            [City] =&gt; Array
                (
                    [name] =&gt; Buttigliera Alta
                )

        )

)
</pre>
<p>Query eseguita (unica):</p>
<pre class="brush: php; title: ; notranslate">
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>6</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>1</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. echo $form->create('Article'); echo $form->input('country_id'); // select echo $form->submit(); Dopo aver chiuso il form echo $ajax->observeField( 'ArticleCountryId', array( [...]]]></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>
	</channel>
</rss>

