recuperar una variable en la vista

1,003 views
Skip to first unread message

Alejo

unread,
Sep 15, 2010, 3:45:49 PM9/15/10
to CakePHP en Español
Buenas, disculpen les moleste, pero quisiera hacerles una breve
preguntilla.

Envio un parametro por url, mifuncion/add/13

Ya sé que para pasarla a la funciòn add dentro de mifuncion, debo
colocarla asi :

function add($id)
{
//aqui ya la puedo imprimir
echo $id;
..
}

Ahora lo que me pregunto es como tomar ese valor para reemplazar
dentro de un input, en el formulario del add

<?php echo $form->create('Movimiento');

// como tomo esa variable que viene por url, para poder hacer un
select
//y que me aparezca el nombre relacionado con ese id (cliente_id) de
otra tabla ???

echo $form->input('cliente_id');
?>

Muchas gracias por su tiempo

Diego Villar

unread,
Sep 15, 2010, 3:53:22 PM9/15/10
to cakep...@googlegroups.com
Estimado Alejo,

Para desde un controller, hacer visible "datos" en tu vista deberás utilizar la instrucción "set" de la siguiente forma:

function add($id){

 ... lo que sea que hagas ...

$this->set('una_variable_para_la_vista','valor_de_la_variable');

}

Esta claro que en "valor_de_la_variable" puedes pasar todo tipo de datos

saludos!



--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP en Español" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a cakep...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a cakephp-esp...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/cakephp-esp?hl=es.


Dani F. Serch

unread,
Sep 15, 2010, 4:11:54 PM9/15/10
to cakep...@googlegroups.com
Creo que lo que buscas estará en el array $this->passedArgs

Bruno M. Tenaglia

unread,
Sep 15, 2010, 4:11:42 PM9/15/10
to cakep...@googlegroups.com
El 15/09/2010 04:45 p.m., Alejo escribi�:

> Buenas, disculpen les moleste, pero quisiera hacerles una breve
> preguntilla.
>
> Envio un parametro por url, mifuncion/add/13
>
> Ya s� que para pasarla a la funci�n add dentro de mifuncion, debo

> colocarla asi :
>
> function add($id)
> {
> //aqui ya la puedo imprimir
> echo $id;
> ..
> }
>
> Ahora lo que me pregunto es como tomar ese valor para reemplazar
> dentro de un input, en el formulario del add
>
> <?php echo $form->create('Movimiento');
>
> // como tomo esa variable que viene por url, para poder hacer un
> select
> //y que me aparezca el nombre relacionado con ese id (cliente_id) de
> otra tabla ???
>
> echo $form->input('cliente_id');
> ?>
>
> Muchas gracias por su tiempo
>
Hola:

En tu controlador hace lo siguiente:

function add($id)
{
$this->set('id',$id);
}

La funcion set(), se encarga de pasar el valor de variables desde el controlador a tu vista..

Luego en la vista simplemente lo recuperas usando $id..

echo $form->input('cliente_id',array('value'=>$id));

Saludos

--
--------------------------------------------
- Bruno M. Tenaglia - Analista Programador -
--------------------------------------------
- Contact Me : 03402-15541431 -
--------------------------------------------
- http://www.bmtblog.com -
--------------------------------------------
- http://twitter.com/bruno_tenaglia -
--------------------------------------------
- http://www.linkedin.com/in/btenaglia -
--------------------------------------------
- Linux Registered User #501874 -
--------------------------------------------


Alejo

unread,
Sep 15, 2010, 9:00:06 PM9/15/10
to CakePHP en Español
Hola Bruno.
Muchas gracias por tu respuesta, al final de la tarde lo pude hacer.
(estuve desde la mañana, sin parar)
Realmente me sirviò mucho todas las ayudas que recibí.

Esta es mi primera aplicaciòn en serio con el framework, espero poder
aprender para tambièn poder devolver el favor a los que recien
arrancan.
Yo estoy con PHP y MySQL desde hace un tiempo, pero me canse de
reinventar la rueda en cada nuevo trabajo y me decidí por la Torta,
je.


En la funciòn al final me quedo algo asi:

$this->set('id',$id); // lo que me indicabas

$this->set('clientes', 'movimientos','destinos'); //lo que ya tenia
generado por bake


ale
Reply all
Reply to author
Forward
0 new messages