Ver Mensaje Individual
  #5 (permalink)  
Antiguo 02/11/2006, 10:56
Avatar de roswell
roswell
 
Fecha de Ingreso: abril-2004
Ubicación: Buenos Aires
Mensajes: 80
Antigüedad: 20 años
Puntos: 0
Yo lo que tengo es este archivo que contiene todos los nombres de los modulos:

Código PHP:
<?php
/*
 * Archivo de configuración para nuestra aplicación modularizada.
 * Definimos valores por defecto y datos para cada uno de nuestros módulos.
*/
define('MODULO_DEFECTO''home');
define('LAYOUT_DEFECTO''layout_simple.php');
define('TITLE_DEFECTO''Patria Quemera - web no oficial de Huracán');
define('MODULO_PATH'realpath('./modulos/'));
define('LAYOUT_PATH'realpath('./layouts/'));

$web="Patria Quemera";

$conf['home'] = array(
        
'archivo' => 'home.php',
        
'layout' => 'layout_portada.php',
        
'title' => TITLE_DEFECTO );
$conf['articulo'] = array(
        
'archivo' => 'art.php',
        
'layout' => LAYOUT_DEFECTO );
$conf['imp_art'] = array(
        
'archivo' => $conf['articulo']['archivo'],
        
'layout' => 'imprimir.php' );
$conf['login'] = array(
        
'archivo' => 'gestion_usuarios.php',
        
'layout' => LAYOUT_DEFECTO,
        
'title' => 'Login Usuario' );
$conf['logout'] = array(
        
'archivo' => 'out.php',
        
'layout' => LAYOUT_DEFECTO,
        
'title' => 'Logout Usuario' );
?>
y el index.php que llama a ese archivo es asi:

Código PHP:
<?php
ob_start
();
//error_reporting(E_ALL);
// Primero incluimos el archivo de configuración
include('conf.php');

/** Verificamos que se haya escogido un modulo, sino
* tomamos el valor por defecto de la configuración.
*/
if (!empty($_GET['mod']))
    
$modulo $_GET['mod'];
else
    
$modulo MODULO_DEFECTO;

/** También debemos verificar que el valor que nos
* pasaron, corresponde a un modulo que existe, caso
* contrario, cargamos el modulo por defecto
*/
if (empty($conf[$modulo]))
        
$modulo MODULO_DEFECTO;

/** Ahora determinamos que archivo de Layout tendrá
* este módulo, si no tiene ninguno asignado, utilizamos
* el que viene por defecto
*/
if (empty($conf[$modulo]['layout']))
        
$conf[$modulo]['layout'] = LAYOUT_DEFECTO;

if (empty(
$conf[$modulo]['title']))
        
$conf[$modulo]['title'] = TITLE_DEFECTO;
              
$title=$conf[$modulo]['title'];

// Aqui podemos colocar todos los comandos necesarios para
// realizar las tareas que se deben repetir en cada recarga
// del index.php - En el ejemplo, conexión a la base de datos.
?>
<HEAD>
<META NAME="Title" CONTENT="Patria Quemera - Sitio no Oficial de Huracán">
<META NAME="Author" CONTENT="PatriaQuemera">
<META NAME="Description" CONTENT="Toda la información del Club Huracán tanto en la web como en los foros quemeros">
<META NAME="Keywords" CONTENT="PatriaQuemera Huracán Quemero Fútbol Ducó Club Oficial Quemera Mohamed Fixture Torneo Nacional Sitio">
<META NAME="Robots" CONTENT="All">
</head>
<?

include("clases/conexion.php");

 echo 
"<LINK href=\"css/estilo.css\" rel=stylesheet>\n";
 include(
"includes/functions.php");
// include("scripts/banner.html");
/** Finalmente, cargamos el archivo de Layout que a su vez, se
* encargará de incluir al módulo propiamente dicho. si el archivo
* no existiera, cargamos directamente el módulo. También es un
* buen lugar para incluir Headers y Footers comunes.
*/
$path_layout LAYOUT_PATH.'/'.$conf[$modulo]['layout'];
$path_modulo MODULO_PATH.'/'.$conf[$modulo]['archivo'];

if (
file_exists($path_layout))
    include( 
$path_layout );
else
    if (
file_exists$path_modulo ))
        include( 
$path_modulo );
    else
        die(
'Error al cargar el módulo <b>'.$modulo.'</b>. No existe el archivo <b>'.$conf[$modulo]['archivo'].'</b>');
ob_end_flush();
?>