Foros del Web » Programando para Internet » PHP » CodeIgniter »

Duda sobre plantillas en Codeigniter

Estas en el tema de Duda sobre plantillas en Codeigniter en el foro de CodeIgniter en Foros del Web. que tal! Estoy dando mis primeros pasos en el apasionante mundo de Codeigniter, y tropecé con una duda que no me deja continuar. Averiguando sobre ...
  #1 (permalink)  
Antiguo 10/12/2012, 08:22
Avatar de Garot  
Fecha de Ingreso: marzo-2010
Ubicación: Mar de Dirac
Mensajes: 121
Antigüedad: 14 años, 2 meses
Puntos: 7
Duda sobre plantillas en Codeigniter

que tal!

Estoy dando mis primeros pasos en el apasionante mundo de Codeigniter, y tropecé con una duda que no me deja continuar.

Averiguando sobre las buenas prácticas para hacer plantillas en Codeigniter llegue al siguiente código:

Voy a mostrar solo el controlador que es donde surge mi duda:
Código PHP:
function pagina_1($id){

        
$nombre $this->model_categorias->nombre_cat($id);
        
//Acá cargo el método que me devuelve todas las categorias
        
$all_cat['filas'] = $this->model_categorias->obtener_todas();
    

    
$datos_plantilla['encabezado'] = $this->load->view('site/includes/encabezado'$all_cattrue);
    
$datos_plantilla['pie'] = $this->load->view('site/includes/pie'$all_cat true);
        
    
$datos_plantilla['title'] = 'Título de la página';
    
$datos_plantilla['cuerpo'] = 'Contenido del cuerpo';
        
        
        
$this->load->view('site/plantilla'$datos_plantilla);
    } 
Me pareció una manera muy buena y simple de ir cargando las páginas, pero me surge el siguiente planteo: si vemos el ejemplo arriba, tanto en el encabezado y el pie se cargan datos dinámicos de la BD, entonces no me parece muy práctico el código si cada vez que voy a mostrar una página tengo que cargar el Model, llamar al método que devuelve las categorías y luego cargar todo en la plantilla.

Que pasa si quiero agregarle más datos dinámicos al pie o encabezado que provengan de otro Model? tendría que modificar todas los métodos donde cargo páginas? No hay forma de incluir en el método "pagina_1" una llamada a otro método que se encuentre en otro Controlador por ej.? tal vez un método que me pase el encabezado listo con los datos ya cargados? no se si se entiende? :P

Tal vez exista algún recurso que yo no conozco todavía para resolver ese tipo de cosas. Leí algo sobre los Hooks pero no entendí muy bien si era para este tipo de cosas.

Alguien que tenga una visión más amplia del framework podría darme una mano .

Desde ya gracias!
  #2 (permalink)  
Antiguo 13/12/2012, 23:01
 
Fecha de Ingreso: octubre-2011
Ubicación: USA
Mensajes: 166
Antigüedad: 12 años, 6 meses
Puntos: 19
Respuesta: Duda sobre plantillas en Codeigniter

perfectamente pudes llamar otros metodos dentro del controlador, creo que seria una buena funcion que arme todo lo que es el pie de pagina encabezado o lo que sea, esa sola funcion seria la que tienes que modificar y simplemente a la hora de formar el template solo la llamas cuantas veces quieras, si necesitas cambiar algo vas a la que la arma y todo lo demas permanece intacto

Saludos
  #3 (permalink)  
Antiguo 14/12/2012, 15:01
Avatar de Garot  
Fecha de Ingreso: marzo-2010
Ubicación: Mar de Dirac
Mensajes: 121
Antigüedad: 14 años, 2 meses
Puntos: 7
Respuesta: Duda sobre plantillas en Codeigniter

gracias por la respuesta shaserUsa

pero en realidad pregunto si puedo llamar a métodos de otro controlador?. Es esto válido o va en contra del patrón MVC?

Slds
  #4 (permalink)  
Antiguo 14/12/2012, 15:17
 
Fecha de Ingreso: octubre-2011
Ubicación: USA
Mensajes: 166
Antigüedad: 12 años, 6 meses
Puntos: 19
Respuesta: Duda sobre plantillas en Codeigniter

Claro pudes hacerlo perfectamente

Saludos

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:18.