El 15/11/2007, a las 17:36, AldeaCMS escribió:

> alguien podria darme una manito?

A grandes rasgos.

En principio, hay una vista (yo la llamo "maestra") que contiene  
alguna DIV que se va a actualizar mediante llamadas Ajax.

Para crear esa DIV usa el AjaxHelper->div($id_para_la_div) y cierra  
con AjaxHelper->divEnd($id_para_la_div)

En medio pon el contenido inicial, si es que tiene alguno.

Eso nos prepara las cosas.

Ahora, supongamos que la DIV se actualiza cuando hacemos clic en  
algún enlace que llama mediante Ajax a un controller/action.

El link lo creas con el AjaxHelper->link($texto_del_enlace,  
$url_del_enlace, $ajaxOptions) y lo pones donde "le toque".

La clave son las $ajaxOptions, que es un array en el que indicas, al  
menos:

array(
'url' => $url_de_la_accion_que_actualiza_la_div,
'update' => $id_para_la_div
)

'update' es para que Ajax sepa dónde tiene que meter el contenido. Se  
pueden poner unas cuantas opciones más, pero por ahora es suficiente.

Todo esto en esa "vista maestra".


Ahora tenemos que preocuparnos de la acción que genera el contenido  
para esa DIV y de lo que devuelve.

En el controller pon el component RequestHandler.

La vista correspondiente se generará sin Layout al ser llamada  
mediantes Ajax, por lo que sólo nos devolverá lo que se genere en  
el .ctp. No tienes que encerrar eso en un DIV ya que lo que va a ser  
actualizado es el contenido del DIV que ya estaba en la vista maestra  
y que le indicamos a Ajax que debe actualizar.

En principio, con eso, al hacer clic en el enlace, se llamará por  
Ajax a la acción que sea y se actualizará.
--
Fran Iglesias
[EMAIL PROTECTED]




--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~----------~----~----~----~------~----~------~--~---

Responder a