Buenas,
A ver hay varias posibilidades, lo que suelo hacer y es lo que está en el
manual
http://book.cakephp.org/view/1390/Automagic-Form-Elements
echo $this->Form->input('id', array( 'label' => false
, 'type' => 'hidden'
));
Más o menos sería eso, con las opciones que tu quieras poner.
Si lo quieres hacer a manivela, puedes hacerlo como tu lo tienes...
pero cambiando el name del input
<input type="hidden" name="*data[Vehiculo][id]*" id="id" value="<?php echo
$clientes['0']['Cliente']['id'
]?>"/>
<input type="hidden" name="data[Vehiculo][cliente_id]" id="id" value="<?php
echo $clientes['0']['Cliente']['id']?>"/>
<input type="hidden" name="data[Vehiculo][cliente_id]"
id="VehiculoClienteId" value="<?php echo
$clientes['0']['Cliente']['id']?>"/>
Espero que te sirva, saludos
El 5 de enero de 2011 16:43, Reinaldo Campos <[email protected]>escribió:
>
> Hola a todos, felices navidades antes que todo.
>
> Primero que nada soy novato, asi que esta duda debe ser facil para el
> grupo, pero la verdad es que me tiene consumida muchas horas y no entiendo
> porque no funciona.
>
> Este es mi action en mi controlador vehiculo:
>
> function addCliente($id = null) {
> if (!$id) {
> $this->Session->setFlash('Cliente Invalido');
> $this->redirect(array('action'=>'index'), null, true);
> }
> $clientes = $this->Vehiculo->Cliente->findAllByid($id);
> $this->set(compact('clientes'));
> if (!empty($this->data)) {
> $this->Vehiculo->create();
> if ($this->Vehiculo->save($this->data)) {
> $this->Session->setFlash('El Vehiculo ha sido salvado');
> $this->redirect(array('action'=>'index'), null, true);
> } else {
> $this->Session->setFlash('El Vehiculo no fue salvado,
> Prueba de nuevo.');
> }
> }
> }
>
> Como ven es basico mi action, cuando lo invoco la primera vez enviando el
> id de mi cliente a traves de html->link y no tengo problema ya que me genera
> el formulario como yo quiero, lo unico que necesito es colocar id= "con el
> valor que le estoy enviando", esto lo hace bien ya que veo que en el codigo
> que genera mi pagina coloca el id=3 por ejemplo, continuo introduciendo el
> resto de los datos del formulario pero cuando lo selecciono GUARDAR para
> enviar estos datos a addCliente se pierde el id, algo debo estar haciendo
> mal y no lo encuentro, tengo horas de horas en esto, mis dudas:
>
> 1) En la vista lo cree asi: echo $form->hidden('id') y no hace nada, no se
> como ponerle el valor al hidden con el id que acabo de enviar,
>
> 2) como no supe resolver la pregunta (1) lo hice de la siguiente manera
> dentro del form por supuesto, creado correctamente:
> <input type="hidden" name="id" id="id" value="<?php echo
> $clientes['0']['Cliente']['id']?>"/>
> <input type="hidden" name="data[Vehiculo][cliente_id]" id="id" value="<?php
> echo $clientes['0']['Cliente']['id']?>"/>
> <input type="hidden" name="data[Vehiculo][cliente_id]"
> id="VehiculoClienteId" value="<?php echo
> $clientes['0']['Cliente']['id']?>"/>
>
> 3) Lo que estoy haciendo es parte de un wizard que estoy construyendo. En
> cada paso de insercion debo guardar en modelos distintos, por ello necesito
> conocer el retorno de un id apenas se cree, por ejemplo si creo un cliente
> que id tiene, para asociarlo a su producto, esto lo guardo en un hidden para
> seguir grabando las relaciones en el resto de los modelos. En estos dias vi
> un post en este mismo grupo que trataba un tutorial de wizard
> http://bakery.cakephp.org/spa/articles/jaredhoyt/2010/10/08/asistente_para_componentes_de_1_2_tutorialpero
> lo vi demasiado complicado y con poco ejemplo, no se si existe alguna
> comunidad, o pagina que traiga ejemplos de como trabajar con esto, que uno
> pueda descargarlos y probarlos localmente, muchas gracias por su
> colaboracion.
>
> Espero haber sido preciso en mi pregunta para que me puedan ayudar.
> Gracias.
> Saludos a todos
> Reinaldo
>
>
>
>
> --
> 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]<cakephp-es%[email protected]>
> Para tener acceso a más opciones, visita el grupo en
> http://groups.google.com/group/cakephp-es?hl=es.
>
--
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.