Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/10/2010, 13:04
Avatar de maturano
maturano
 
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 11 meses
Puntos: 36
Respuesta: CodeIgniter. Mostrar valor de un array dentro de un modelo

... comenzar por mencionar que no he usado CI más que una mirada por encima. Esto porque ahora no me queda claro el cómo es que las variables de la vista son pasadas desde el controlador.

Sin embargo, entendiendo que solo preguntas cómo controlar el mensaje a regresar, que quieres pasar un parámetro desde el controlador ... pues tal como lo dices, podría ser:
Código PHP:
Ver original
  1. class Output_msg extends Model{
  2.    
  3.     function Output_msg()
  4.     {
  5.         parent::Model();
  6.     }
  7.    
  8.     function output_msg_notice($tipo)
  9.     {
  10.         // Creamos un array que contenga los mensajes de Notice
  11.         $msg_notice = array(
  12.                     'formulario_enviado'    => 'El formulario ha sido enviado',
  13.                     'formulario_otro'        => 'El formulario "otro" ha sido enviado');
  14.        
  15.         return $msg_notice[$tipo];
  16.     }
  17.    
  18. }

Código PHP:
Ver original
  1. // Mostramos el mensaje de Formulario Enviado...
  2. $this->load->model('/cpanel/Output_msg');
  3. $msg['msg_form'] = $this->Output_msg->output_msg_notice('formulario_enviado');
  4. $this->load->view('/cpanel/msg', $msg);

Que deberías mostrar que dices que haz intentado, porque esto debió de estar dentro de ello. Igual habrá cosas que no muestras como dicho formulario que debería regresar de algún modo el tipo de mensaje a mostrar.


... Sin embargo , eso solo para hablar de que es posible, pero el planteamiento de tus clases pintan, a mi parecer, mal.

Si bien el modelo podría tener una vista, sería de la representación del propio objeto, no "mensajes hacia el usuario"; en el momento en que piensas así definitivamente no pinta nada bien, es trabajo más de un helper, auxiliar o de controlarlo directamente en la vista. Cuidado con ello.
__________________
I ♥ The Music!