Hay distintas maneras de llamar a las vistas no necesariemante desde el controller, los puedes llamar tambien desde otras vistas.
Normalmente lo que hago es crear el template principal (el layout) y dentro llamo a las vistas que necesito directamente o tomando una variable como referencia:
Ejm:
layout_view.php
Código HTML:
Ver original
<title><?php ($title) ? print $title : NULL; ?> </title> ...
...
<menu>
<?php $this->load->view('menu_view'); ?>
</menu>
<cuerpo>
<?php $this->load->view('content_view') ?>
</cuerpo>
....
...
Desde el controller simplemente llamo al template_view:
Código PHP:
Ver originalfunction action(){
$data['loquesea'] = "el contenido a enviar al view";
$this->load->view('template_view', $data);
}
Cuando te envia el arreglo a la vista lo puedes tomar e imprimir directamente como variable, a menos que envies otro arreglo.
EJM:
Código PHP:
Ver originalfunction index(){
$data['title'] = "El titulo de mi WEB";
$this->load->view('template_view', $data);
}
EL contructor solo lo usarias para validar usuarios, cargar librerias o modelos,
Las otras vistas o partials tambien pueden recibir e imprimir variables que le envies desde el controller.