Pasar Valor A Un Formulario

Buenos dias.

Quisiera pasar un valor a la accion create de un modelo, de tal manera, que alguno de lo campos del modelo, no fuesen editables, sino que ya recibiesen un valor, y solo se mostraran en el momento del realizar el create… no se si me explico…

caso real :

Tengo una bd de clientes y configuraciones.

Cada configuracion pertenece a un cliente en concreto, por lo que en la tabla configuraciones, hay un campo cliente_id que asocia dicha configuracion al cliente propietario.

Dispongo de un CGridView, en el que listo todas las configuraciones de un cliente determinado, y añado en el menu la opcion de crear una configuracion nueva para el cliente que estoy mostrando.

La idea es que cuando yo seleccione crear una nueva configuracion ( asociada al cliente que en ese momento estoy mostrando ) , cuando vaya a la accion Create de Configuraciones, el formulario ya reciba el valor del campo cliente_id , y se muestre en el formulario de manera readonly.

El resto de campos de la tabla Configuraciones seran los que el usuario debe rellenar.

Como debo pasar desde la accion View, en que muestro el valor de cliente_id y todas las configuraciones relacionadas a ese cliente_id , a la accion Create para que ese valor ya quede seteado en el formulario ?.

Gracias, y un saludo.

Fonso.

Buenos días.

1- En tu controlador debes modificar tu actionCreate de la siguiente forma:




.... actionCreate($idCliente)

{

...

          $model = new ModelConfiguracion();

          $model->cliente_id = $idCliente:

...

}



Y por supuesto, desde tu view debes pasar un parámetro llamado "idCliente" cuando llames a tu actionCreate.

Por ejemplo en un botón de tu CGridView:




'updateButtonUrl' => 'array("configuracion/create",

                            "idCliente"=>$data->cliente_id)',



Ten en cuenta que deberá añadir un botón al CGridView para que te haga esto, no utilices el "updateButton" como te puse yo en el ejemplo.

Un saludo.