<?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; ajax</title>
	<atom:link href="http://www.luizz.it/tag/ajax/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>AJAX semplice semplice</title>
		<link>http://www.luizz.it/56/cakephp/ajax-semplice-semplice</link>
		<comments>http://www.luizz.it/56/cakephp/ajax-semplice-semplice#comments</comments>
		<pubDate>Thu, 10 Jan 2008 09:55:40 +0000</pubDate>
		<dc:creator>Luizz</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[ajax]]></category>

		<guid isPermaLink="false">http://luizz/?p=56</guid>
		<description><![CDATA[Semplici concetti per usare AJAX con CakePHP]]></description>
			<content:encoded><![CDATA[<p>Si vuole creare una pagina dove è presente un link e un DIV con funzioni da contenitore.<br />
Si vuole che alla selezione del link il DIV venga popolato con una lista di elementi, ricavati da un database, sfruttando AJAX, quindi senza ricaricare l&#8217;intera pagina.</p>
<p><strong>Requisiti necessari</strong></p>
<p>Sul server devono essere installate le librerie Javascript <strong>prototype </strong> e <strong>scriptaculous</strong> e devono essere richiamate nella pagina. Inoltre il charset deve essere impostato a &#8220;UTF-8&#8243;.</p>
<p><strong>Il controller</strong></p>
<p>Nel controller devono essere richiamati gli helper necessari: Html, Javascript e Ajax.<br />
Richiamando anche il component &#8220;RequestHandler&#8221; si potranno sfruttare funzionalità circa il rendering di layouts e template.<br />
Il metodo index() imposterà la variabile che sarà stampata inizialmente nel contenitore.<br />
Il metodo listcat() (o qualsivoglia nome) ricaverà la lista da stampare (in questo caso una lista di categorie).</p>
<p><strong>Le view</strong></p>
<p><em>index.ctp</em> conterrà l&#8217;intera pagina corredata dei vari elementi necessari quali il titolo o menu, ecc. oltre al necessario contenitore DIV che verrà aggiornato con l&#8217;inserimento dei dati ricavati.</p>
<p><em>listcat.ctp</em> invece conterrà la sola lista da stampare poichè <strong>rappresenta il contenuto che verrà inserito nel contenitore DIV</strong>.</p>
<p>Quindi è necessario ricordare che il sistema aggiornerà l&#8217;oggetto DOM con ciò che viene prodotto dalla view che l&#8217;action richiamata (listcat) ha prodotto.</p>
<p>Di seguito il codice di esempio.</p>
<p><strong>Controller</strong></p>
<pre><code><?php
class TestsController extends AppController
{
    var $uses = array('Category');
    var $components = array ('RequestHandler');
    var $helpers = array('Html','Javascript','Ajax');

    function index(){
$this->set("lista","Vuoto");
    }

    function listacat(){
$this->set('lista',$this->Category->findAll());
    }
}
?></code></pre>
<p><strong>Da aggiungere al Layout</strong><br />
<code><?php print $html->charsetTag('UTF-8') ?><br />
<?php print $javascript->link('prototype') ?><br />
<?php print $javascript->link('scriptaculous.js?load=effects') ?></code></p>
<p><strong>View &#8211; listacat.ctp</strong><br />
<code>
<ul>
<pre><?php
foreach ($lista as $cat){
    echo "
<li>{$cat['Category']['nome']}</li>

";
}
?></ul>

</code></pre>
<p><strong>View - index.ctp</strong></p>
<pre><code>
<h2>Tests</h2>

<?php echo $ajax->link("Prova AJAX", "/tests/listacat",array("update" => "content")); ?>
<div id="content" style="border: 1px solid #ccc; margin:10px; padding:10px;">
     <?php if(isset($lista)) echo $lista; ?>
</div>

</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.luizz.it/56/cakephp/ajax-semplice-semplice/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

