Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/10/2012, 13:12
Avatar de tutorias
tutorias
 
Fecha de Ingreso: octubre-2012
Ubicación: Medellin
Mensajes: 69
Antigüedad: 11 años, 7 meses
Puntos: 13
De acuerdo Respuesta: Configurar Div de varios html desde uno.

Un saludo. A través de modulos: simplemente modificas el layout principal y te ahorras poner los includes... ¿Qué tal si deseas cambiar el nombre a los archivos include? toca cambiar todas las rutas de los include.

PASOS:


El archivo index de entrada principal de la web, "index.php" sera algo como esto:

Código PHP:
<?php
error_reporting
(E_ALL & ~E_NOTICE & ~E_DEPRECATED);

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 modulo: <b>'.$modulo.'.</b> No existe el archivo: <b>'.$conf[$modulo]['archivo'].'</b>');
?>

El archivo de configuracion, "conf.php", algo como esto:

Código PHP:
<?php
define
('MODULO_DEFECTO','home');
define('LAYOUT_DEFECTO','layout_simple.php');
define('MODULO_PATH'realpath('./modules/'));
define('LAYOUT_PATH'realpath('./layouts/'));

$conf['home']  = array('archivo'=>'index.html','layout'=>LAYOUT_DEFECTO);
$conf['otroModulo'] = array('archivo'=>'blabla.html','layout'=>LAYOUT_DEFECTO);
?>
El layout principal, "layout_simple.php" que estara guardado en el directorio layouts, algo como esto:

Código HTML:
<!DOCTYPE HTML>
<html lang="es-CO">
<head>
	<meta charset="UTF-8">
	<title>tutorias.co</title>
	<style  rel="stylesheet" href="aquiVinculasCSS.css">
</head>
<body>
        <header><img src="banner.jpg" alt="" /><h1>buuu!!</h1></header>
        <nav>
           <ul>
              <li><a href="?mod=home">Inicio</a></li>
              <li><a href="?mod=otroModulo">bla bla</a></li>
           </ul>
        </nav>

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

        <footer>Internet gratis para todo el mundo!!!</footer>	
</body>
</html> 

El archivo index.html de bienvenida, señalado en el archivo de configuración como modulo home, algo como esto:


Código HTML:
<b>¡hola mundo!</b> 

Y listo!!

Cuantas páginas tenga la web, tantos modulos debe crear y vincularlos en el archivo "conf.php"

Por último, la estructura del sitio quedaria como se muestra en la imagen adjunta.

directorio raiz >
index.php
conf.php
modules > index.html
layouts > layout_simple.php


Última edición por tutorias; 21/10/2012 a las 13:34