Diferencia entre revisiones de «AJAX»

De KumbiaPHP Framework Wiki
(Primera Edición)
 
Línea 1: Línea 1:
            ¿Como usar AJAX en Kumbia?
+
 
 
Kumbia posee soporte para funciones AJAX con el framework Prototype y también sin él.
 
Kumbia posee soporte para funciones AJAX con el framework Prototype y también sin él.
 
Recordemos que prototype (http://prototype.conio.net) está incluida por defecto al igual
 
Recordemos que prototype (http://prototype.conio.net) está incluida por defecto al igual
 
que las funciones drag-and-drop (arrastrar y soltar), effects (efectos) y controls
 
que las funciones drag-and-drop (arrastrar y soltar), effects (efectos) y controls
 
(controles) de Script.aculo.us.
 
(controles) de Script.aculo.us.
El soporte para estas librerías, está por defecto en la línea que dice: <?
+
El soporte para estas librerías, está por defecto en la línea que dice:
kumbia_use_effects() ?> en views/index.phtml esta función incluye los documentos
+
<source lang=php>
javascripts necesarios para usarlas.
+
<?kumbia_use_effects() ?>
43.4 link_to_remote
+
</source> en views/index.phtml esta función incluye los documentos javascripts necesarios para usarlas.
 +
 
 +
==link_to_remote==
 
Permite hacer un llamado sencillo mediante AJAX que solicita un fragmento HTML y lo
 
Permite hacer un llamado sencillo mediante AJAX que solicita un fragmento HTML y lo
 
actualiza en un contenedor (div, span, td, etc) del documento actual.
 
actualiza en un contenedor (div, span, td, etc) del documento actual.
    1. <?php echo link_to_remote("Cargar algo con AJAX", "update: midiv", "action:  
+
<source lang=php>
 +
<?php echo link_to_remote("Cargar algo con AJAX", "update: midiv", "action:  
 
         saludo/hola") ?>
 
         saludo/hola") ?>
    2. 
+
<div id="midiv">Este texto será actualizado</div>
    3. <div id="midiv">Este texto será actualizado</div>
+
</source>
 
La función link_to_remote generalmente toma 3 parámetros:
 
La función link_to_remote generalmente toma 3 parámetros:
 
     1. El Texto del enlace
 
     1. El Texto del enlace
Línea 21: Línea 24:
 
invocada en segundo plano y cualquier información obtenida será reemplazada en el div.
 
invocada en segundo plano y cualquier información obtenida será reemplazada en el div.
 
El controlador ‘controllers/saludo’ tiene una acción llamada hola:
 
El controlador ‘controllers/saludo’ tiene una acción llamada hola:
 +
<source lang=php>
 
     1. <?php
 
     1. <?php
 
     2.    class SaludoController extends ApplicationController {
 
     2.    class SaludoController extends ApplicationController {
Línea 29: Línea 33:
 
     7.    }//fin de la clase
 
     7.    }//fin de la clase
 
     8. ?>
 
     8. ?>
 +
</source>
 
La implementación vacía del método indica que no hay lógica para esta acción sin
 
La implementación vacía del método indica que no hay lógica para esta acción sin
 
embargo Kumbia carga automáticamente la vista con el nombre hola.phtml en
 
embargo Kumbia carga automáticamente la vista con el nombre hola.phtml en

Revisión del 22:53 28 ago 2009

Kumbia posee soporte para funciones AJAX con el framework Prototype y también sin él. Recordemos que prototype (http://prototype.conio.net) está incluida por defecto al igual que las funciones drag-and-drop (arrastrar y soltar), effects (efectos) y controls (controles) de Script.aculo.us. El soporte para estas librerías, está por defecto en la línea que dice:

 <?kumbia_use_effects() ?>

en views/index.phtml esta función incluye los documentos javascripts necesarios para usarlas.

link_to_remote

Permite hacer un llamado sencillo mediante AJAX que solicita un fragmento HTML y lo actualiza en un contenedor (div, span, td, etc) del documento actual.

 
<?php echo link_to_remote("Cargar algo con AJAX", "update: midiv", "action: 
        saludo/hola") ?>
<div id="midiv">Este texto será actualizado</div>

La función link_to_remote generalmente toma 3 parámetros:

    1. El Texto del enlace
    2. El id del objeto HTML que se va a actualizar en este caso midiv.
    3. La acción de la cual se obtendrán la información para actualizar.

Cuando el usuario hace clic sobre el vinculo la acción hola en el controlador saludo será invocada en segundo plano y cualquier información obtenida será reemplazada en el div. El controlador ‘controllers/saludo’ tiene una acción llamada hola:

 
     1. <?php
     2.     class SaludoController extends ApplicationController {
     3.        function hola(){
     4.              #Indica que el resultado sera solo una parte de la vista actual
     5.              $this­>set_response('view');
     6.        }//fin del metodo
     7.     }//fin de la clase
     8. ?>

La implementación vacía del método indica que no hay lógica para esta acción sin embargo Kumbia carga automáticamente la vista con el nombre hola.phtml en views/saludo/ que contiene lo siguiente:

1.

Esto es Kumbia con AJAX

<?php echo time() ?>

Al probarlo el texto ‘Esto es Kumbia con AJAX’ y el timestamp actual aparecerán como por arte de magia en el div indicado.