Hola buenas estoy empezando a utilizar este framework para ir probando hacer aplicaciones caseras. Me he leido bastante del manual y más o menos se como funciona..
Escribo porque tengo un problemilla con las vistas y los datos que les paso a las vistas.
He generado una vista(general.php es el nombre de la vista) general que sera la estructura de la web y en la que quiero anidar otras vistas dependiendo de la sección de la web. He creado un controlador llamado PHP como controlador principal , su código es muy sencillo es tal que así:
Código:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class PHP extends CI_Controller{
function index(){
$datos['titulo'] = "Proyecto Alpha";
$datos['cuerpo'] = $this->load->view('principal/enlaces','',TRUE);
$this->load->view('general',$datos);
}
}
?>
Aquí anido una vista llamada 'enlaces' que esta en la carpeta principal dentro de vistas con la vista general. En este controlador no tengo ningún problema. El problema viene cuando en otro controlador no defino la variable cuerpo dentro del array datos. El código de este controlador es aún mas sencillo.
Código:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Usuario extends CI_Controller{
function index(){
$datos['titulo']="Usuarios";
$this->load->view('general',$datos);
}
}
?>
En el no añado la variable $datos['cuerpo'].
Bueno como quiero que mi vista general sea flexible, a que haya veces que los datos que se le pasan esten definidos o no he hecho esta vista.
Código:
<!DOCTYPE HTML>
<html>
<head>
<title><?php echo $titulo?></title>
</head>
<body>
<div id="Cuerpo">
<header>
<h1> <a href="index.php">Proyecto Alpha</a></h1>
<p>Aplicacion casera</p>
</header>
<?php
if($cuerpo){
echo $cuerpo;
}
?>
</div>
<footer> Todos los derechos rerservados 2012</footer>
</body>
En la que he compruebo si la variable $cuerpo esta definida. Y he aquí donde se me produce el error. Mas concretamente este:
He probado con isset y con !is_null , pero nada. ¿Qué esta ocurriendo?