Effetti JQuery in CakePHP 1.3

Con CakePHP 1.3 è possibile sfruttare altri framework Javascript oltre all’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.

  1. Scaricare JQuery http://docs.jquery.com/Downloading_jQuery
  2. Copiare gli script in app/webroot/js
  3. Includere la libreria in tutte le pagine. Per fare questo si può modificare il file /app/views/layout/default.ctp inserendo il codice
    echo $this->Html->script('jquery-1.4.2.min');

    nella sezione <head></head>.

  4. Includere il seguente comando
    echo $js->writeBuffer();

    prima del tag </body>

  5. Richiamare il JsHelper inserendo il seguente codice nel controller
    var $helpers = array('Js' => array('Jquery'));

A questo punto siamo pronti per utilizzare gli effetti di JQuery nelle nostre views

Nella view inseriamo il seguente codice che permette di mostrare o nascondere un DIV con effetto slide.
Creiamo i link e il box

<a href="#" id="apri">Apri il box</a> | <a href="#" id="chiudi">Chiudi il box</a>
<div id="box" style=" border: 1px solid green; height:200px; width:100px; display:none"></div>

e poi aggiungiamo il codice PHP

 $apri = $js->get("#box")->effect('slideIn');
 $chiudi = $js->get("#box")->effect('slideOut');
 $js->get("#apri")->event('click', $apri );
 $js->get("#chiudi")->event('click', $chiudi );

Volendo includere un effetto non disponibile con JsHelper è possibile inserire del codice nativo JQuery e riutilizzarlo nel seguente modo

$codice = '$("#box").toggle("blind",{},500);';
$js->get("#toggle")->event('click', $codice );

6 comments for “Effetti JQuery in CakePHP 1.3

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.