Tengo una vista donde creo un formulario.
Debajo, creo dos combos; en funcion de la seleccion en el primero,
cargo el segundo. Y en funcion de la seleccion del segundo, cargo un
elemeno u oto en un div; Y luego cierro el formulario:
echo $form-
>create(array('controller'=>'Detallemenu','action'=>'add'));
echo $form-
>select('seccion_id',array($secciones),null,array('id'=>'secciones'),'Selecciona
un tipo..')
echo $form-
>select('tipo_id',array(),null,array('id'=>'tipos'),'Selecciona un
tipo..')
echo $ajax->observeField('secciones',array('url'=>"http://127.0.0.1/
elmolinodesanlazaro.com/prueba/adm/Menus/
update_tipo_select",'update'=>'tipos'));
echo $ajax-
>observeField('tipos',array('url'=>'actualizarCarta','update'=>'divupdate'));
<div id="divupdate"> </div>
La accion del controlador para cargar un elemento en el div es:
function actualizarCarta($id = null) {
$tipo_id = $this->data['Detallemenu']['tipo_id'];
$options = $this->Detallemenu->Tipo-
>find('list',array('fields'=>'Tipo.nombre','conditions'=>array('id'=>
$tipo_id)));
//convierto el resultado en un string para que funcione el render
$stringNombre = implode(',', Set::extract($options,
'{n}.Tipo.nombre'));
array($this->render(null, 'ajax', '/elements/'.$stringNombre));
}
echo $form->end(array('label'=>'Crear Menú','class'=>'button'))
Todo funciona excepto que no me guarda en la bbdd los campos que hay
en el elemento. Si en lugar de cargarlo dinamicamente, escribo en el
div $this->element('mielement'), me guarda tanto los datos de la
vista desde donde cargo el element como los del propio element; pero
si los cargo dinamicamente, solo me guarda los datos de la vista desde
donde llamo al element y no los que hay dentro de él....
Por favor, cualquier ayuda sería increible! me estoy volviendo loca
con esto.
Muchisimas gracias por adelantado!
--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a
[email protected]
Para tener acceso a más opciones, visita el grupo en
http://groups.google.com/group/cakephp-es?hl=es.