Ver Mensaje Individual
  #9 (permalink)  
Antiguo 11/09/2005, 12:07
OrgasmUs
 
Fecha de Ingreso: octubre-2004
Mensajes: 48
Antigüedad: 19 años, 6 meses
Puntos: 0
Como siempre, me estas siendo de gran ayuda, te cuento:

A ver, no sabia que las diferentes secciones se podian poner como php (aunque solo sea codigo html, de manera que te evites el abrir y cerrar cada documento) así que he intentado cambiar el "sistema" tal y como lo describes, cambiando cada modulo a un archivo php y eliminando sus etiquetas de <html>, etc

y ya que el método es algo diferente, como se puede ver en: Creando webs modulares y si que me funciona, todo excepto una cosa: no consigo que se haga la precarga de imagenes, con el script de precarga (que en lugar de alojarlo en una "scripts.php" esta directamente situado en "layout-1.php"

El esquema es:

el index.php llama primero al archivo "conf.php":

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('MODULO_PATH'realpath('./modulos/'));
define('LAYOUT_PATH'realpath('./layouts/'));

$conf['home'] = array(
        
'archivo' => 'home.php',
        
'layout' => LAYOUT_DEFECTO );

$conf['impresoras-tarjetas-plasticas-1'] = array(
        
'archivo' => 'impresoras-tarjetas-plasticas-1.php',
        
'layout' => 'layout_1.php' );
$conf['impresoras-tarjetas-plasticas-2'] = array(
        
'archivo' => 'impresoras-tarjetas-plasticas-2.php',
        
'layout' => 'layout_1.php' );
$conf['impresoras-tarjetas-plasticas-3'] = array(
        
'archivo' => 'impresoras-tarjetas-plasticas-3.php',
        
'layout' => 'layout_1.php' );
$conf['impresoras-tarjetas-plasticas-4'] = array(
        
'archivo' => 'impresoras-tarjetas-plasticas-4.php',
        
'layout' => 'layout_1.php' );
$conf['impresoras-tarjetas-plasticas-5'] = array(
        
'archivo' => 'impresoras-tarjetas-plasticas-5.php',
        
'layout' => 'layout_1.php' );
$conf['impresoras-tarjetas-plasticas-6'] = array(
        
'archivo' => 'impresoras-tarjetas-plasticas-6.php',
        
'layout' => 'layout_1.php' );
$conf['impresoras-tarjetas-plasticas-7'] = array(
        
'archivo' => 'impresoras-tarjetas-plasticas-7.php',
        
'layout' => 'layout_1.php' );


?>
(que por cierto, no habria manera de "agrupar" los arrays o algo asi?

y despues hace lo siguiente:

Código PHP:
<?php
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.
* También debemos verificar que el valor que nos
* pasaron, corresponde a un modulo que existe.
*/
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;
/** 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.

* include('clases/class.DB.php');
* $db = new DB();
* $db->conectar();
*/

/** 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>');
?>
así, (ojo, he modificado solo para la prueba, el 1er apartado, -"impresoras de tarjetas plasticas"-)

el archivo "layout-1.php" hace de contenedor y dentro de las etiquetas <body> y </body> meto todos los includes, dejando en el <head> de "layout-1.php" el script de precarga, asi como el enlace a la hoja de estilos

¿Porque no consigo que precargue las imagenes del roll-over del menú?

EDITO: olvidé poner el link a la modificación: http://facciondg.com/card&systems/11...as-plasticas-1

No se si me explico o si lo he liado más

Última edición por OrgasmUs; 12/09/2005 a las 01:59