Hola,
la respuesta corta y sencilla: asignar vistas a la variable $data. La información esta
aquí. Un ejemplo, primero preparo mi vista de la siguiente manera:
plantilla general Código PHP:
<html>
<head>
<title><?php echo $title;?></title>
</head>
<body>
<div id="menu">Aquí va el menú</div>
<div id="sidebar">Aquí van links estáticos y también dinámicos</div>
<div id="contenido">
<h1><?php echo $heading;?></h1>
<?php echo $contenido; ?>
</div>
</body>
</html>
Con esto puedes ver que vamos a reusar esta plantilla, generalmente siempre tenemos le mismo menú y la misma información en una barra lateral (es sólo un ejemplo)
Necesitamos una plantilla específica para el índice de tu blog xD
plantilla indice blog se llama: blog_indice.php Código PHP:
<h1><?php echo $entrada_title; ?></h1>
<p><?php echo $entrada;?></p>
<blockquote><?php echo $comentarios; ?></blockquote>
Y ahora lo interesante, el controlador
Código PHP:
class Blog extends Controller {
function index()
{
$data['title'] = "My Real Title";
$data['heading'] = "My Real Heading";
// vamos a integrar la plantilla del index del blog
$contenido['entrada_title'] = 'Hola Mundo';
$contenido['entrada'] = 'Estoy aprendiendo CodeIgniter ^_^';
$contenido['comentarios'] = 'Mundo: me parece bien!';
// checa esto!
$data['contenido'] = $this->load->view('blog_indice', $contenido, true);
// y ya con esto terminamos
$this->load->view('blogview', $data);
}
}
Al pasar el tercer parámetro al metodo view() estamos indicando que nos regrese como cadena esa plantilla, por lo que podemos incluirla como una variable en la plantilla general. Sólo espero no haberte confundido más. xD
Saludos.