Hola a todos como están?. Estoy tratando de resolver un ejercicio básico sobre como hacer una web modular con php. Permítanme plantearles el problema que surge:
Código index.php
Código:
error_reporting(E_ALL);
include('conf.php');
if (!empty($_GET['mod']))
$modulo = $_GET['mod'];
else
$modulo = MODULO_DEFECTO;
if (empty($conf[$modulo]))
$modulo = MODULO_DEFECTO;
if (empty($conf[$modulo]['layout']))
$conf[$modulo]['layout'] = LAYOUT_DEFECTO;
$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>');
Código config.php
Código:
define('MODULO_DEFECTO', 'Inicio');
define('LAYOUT_DEFECTO', 'layout_simple.php');
define('LAYOUT_COLOR', 'layout_color.php');
define('MODULO_PATH', realpath('./modulos/'));
define('LAYOUT_PATH', realpath('./layouts/'));
$conf['Inicio'] = array(
'titulo' => 'Inicio',
'archivo' => 'espanol/inicio.php',
'layout' => LAYOUT_DEFECTO );
$conf['articulo1'] = array(
'titulo' => 'Artículo 1',
'archivo' => 'espanol/articulo1.php',
'layout' => LAYOUT_DEFECTO );
$conf['articulo2'] = array(
'titulo' => 'Artículo 2',
'archivo' => 'espanol/articulo2.php',
'layout' => LAYOUT_COLOR );
$conf['seccion1-articulo1'] = array(
'titulo' => 'Sección 1 - Artículo 1',
'archivo' => 'espanol/seccion1/articulo1.php',
'layout' => LAYOUT_COLOR );
Así funciona bien el ejemplo, pero el tema es que no se como hacer para utilizar subcarpetas o subsecciones en la web.
(la web usa una redirección de .htaccess: RewriteRule ([^/]+)/([^/]+)\/$ /index4.php?mod=$1&idioma=$2 )
$conf['
seccion1-articulo1'] , si aquí pongo una '/' en lugar de '-' , en la práctica es como si pusiera solamente
articulo1. o sea que no toma lo que está antes de '/'
He visto en otro foro, que hay que pasarle otro parámetro mas al archivo. Algo así: index.php?mod=articulo1&seccion=seccion1, y tal vez agregando líneas en el index.php y/o config.php,,pero como . .. ....
Gracias de antemano si pueden ayudar
Saludos