Código PHP:
require 'sistema/modelo/noticia.php';
class controlador {
function noticia($noticiaid)
{
//con esto hago la consulta a la base de datos y cargo el resultado en $contenido
ob_start();
$noticia= new noticia();
$array = $noticia->noticias($noticiaid);
if($array!='')
{
include 'sistema/vista/'. __SKIN__ .'/modulos/noticia.php';
$contenido = ob_get_clean();
}
else
{
$contenido = 'No hay registros';
}
//con esto cargo el SKIN (vista.php)
include 'sistema/vista/'. __SKIN__ .'/vista.php';
}
}
Bueno ahora tengo este problema, el SKIN (vista.php) es una página con SECTORES (cabecera, lateral y contenido). Con esa función yo reemplazo el sector CONTENIDO. Pero qué pasa si quiero tener otra función, para cargar la cabera y el lateral separado del contenido? O sea, quiero tener el mismo resultado de esto pero quiero separarlo en 2 funciones:
Código PHP:
function noticia($noticiaid)
{
//con esto cargo la cabecera
ob_start();
include 'sistema/vista/'. __SKIN__ .'/sectores/cabecera.php';
$menu = ob_get_clean();
//con esto cargo el lateral
ob_start();
include 'sistema/vista/'. __SKIN__ .'/sectores/lateral.php';
$menu = ob_get_clean();
//con esto cargo el contenido, es el mismo código que el anterior
ob_start();
$noticia= new noticia();
$array = $noticia->noticias($noticiaid);
if($array!='')
{
include 'sistema/vista/'. __SKIN__ .'/modulos/noticia.php';
$contenido = ob_get_clean();
}
else
{
$contenido = 'No hay datos';
}
include 'sistema/vista/'. __SKIN__ .'/vista.php';
}
EDITO: ya encontré la solución. Creo una función para incluir un sector, luego desde la función noticia llamo a esa función con $this. Queda así:
Código PHP:
function cabecera()
{
include 'sistema/vista/'. __SKIN__ .'/sectores/cabecera.php';
}
function noticia($noticiaid)
{
//cargo la cabecera
ob_start();
$this->cabecera();
$menu = ob_get_clean();
//cargo el contenido
ob_start();
$noticia= new noticia();
$array = $noticia->noticias($noticiaid);
if($array!='')
{
include 'sistema/vista/'. __SKIN__ .'/modulos/noticia.php';
$contenido = ob_get_clean();
}
else
{
$contenido = 'No hay datos';
}
include 'sistema/vista/'. __SKIN__ .'/vista.php';
}