Ya conseguí solucionar mi problema. Con respecto a DRY, con renderElement va de perlas, y con respecto al link de ajax, a mi me ha funcionado de esta manera:
$ajax->link('texto del link', 'ruta', array('update'=>'div_a_actualizar')); Saludos! El 17/11/07, Paolo Stancato <[EMAIL PROTECTED]> escribió: > Hola Fran, > > aquí hablás sobre una "vista maestra" y después de varias acciones > que deberían actualizar el contenido de los divs (dentro de la vista > maestra). Mi pregunta es, suponiendo que el contenido (por defecto) > que tendrá la vista maestra es el mismo que el que generará mi acción, > cómo puedo hacer para no repetir código? > > Saludos!! > > El 15/11/07, Fran Iglesias <[EMAIL PROTECTED]> escribió: > > > > > > 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. -~----------~----~----~----~------~----~------~--~---