Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/01/2012, 06:56
Avatar de antonrodin
antonrodin
 
Fecha de Ingreso: noviembre-2007
Ubicación: Madrid
Mensajes: 153
Antigüedad: 17 años
Puntos: 38
Respuesta: es recomendable cargar una vista (ej: header) desde otra vista?

Cita:
Iniciado por Greco2 Ver Mensaje
Hola a todos...

De hace un tiempo he estado estudiando y probando codeigniter y se me presenta una duda al momento de manejar las vistas separadas en archivos (header, footer, contenido, etc.)

¿Cómo es mejor? o ¿Qué es más recomendable?
desde el controlador cargar cada uno de los archivos?
Código PHP:
$this->load->views('header');
$this->load->views('contenido');
$this->load->views('footer'); 
o sólo cargo un único archivo (contenido) y dentro de este hago la llamada de la cabecera y pié de página?

A simple vista veo que da lo mismo e incluso se ve mas claro cargar los 3 archivos desde el controlador, pero la duda viene cuando necesito enviar datos hacia las vistas (que es lo más lógico).
Tendría que estár creando un array de datos para cada vista y mandándoselos por separado en lugar de mandarselo a un único archivo y este ultimo lo comparte con los demas (no lo he probado así pero imagino que debe funcionar).

¿Existe otra manera?
¿Qué recomiendan ustedes?

Espero se haya entendido mi consulta, si no, solo avisen y la detallo mejor

Saludos
No se si has visto los vídeos de Codeigniter. Pero en algunos te aparece como hacer un template y simplemente es crear una vista llamada "template.php" la cual te maneja (carga) las vistas en todo momento.

Yo soy partidario de tener el controlador mas simple posible, si veo que repito código, pienso que algo va mal.

Y si en cada función de controlador todo el rato cargas header, footer, sidebar, content... es escribir lo mismo muchas veces... con el template.php lo simplificas y simplemente eliges el "content" que quieres cargar.

No se si me he explicado bien.
__________________
Mi blog personal... o algo asi: http://www.azrodin.com, experimentando con un concurso seo.