Foros del Web » Programando para Internet » PHP »

ayuda con web modular

Estas en el tema de ayuda con web modular en el foro de PHP en Foros del Web. Hola a [email protected], quisiera haceros una consulta acerca de una web modular que prentendo hacer, todo funciona bien, me refiero a la estructura, caga bien ...
  #1 (permalink)  
Antiguo 23/08/2005, 05:01
mon
 
Fecha de Ingreso: febrero-2003
Mensajes: 506
Antigüedad: 14 años, 10 meses
Puntos: 0
ayuda con web modular

Hola a [email protected], quisiera haceros una consulta acerca de una web modular que prentendo hacer, todo funciona bien, me refiero a la estructura, caga bien el foot, el header, los modulos, pero en el caso del layout que uso tengo un problema, me carga todo lo que pongo en el layout a excepción de un script que meto y que es un menú hecho en javascript, el caso es que si cargo la hoja sola, por ejemplo layout.php no tengo problema pero si lo que cargo es la web normal donde se hace referencia al layout, osea la index.php, no me aparece ese script osea el menú programado en javascript,

el codigo del layout que uso es este
Código PHP:
<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
a:link {
    color: #0099CC;
    text-decoration: none;
}
a:visited {
    text-decoration: none;
    color: #0099CC;
}
a:hover {
    text-decoration: underline;
    color: #0099CC;
}
a:active {
    text-decoration: none;
    color: #ECE9D8;
}
-->
</style>
<script type="text/javascript" language="JavaScript1.2" src="stm31.js"></script>
<basefont color="black" face="Verdana" />

</head>
<body bgcolor="#ffffcc">
<?php include('includes/header.php'); ?>
<table width="740" border="0" align="center" cellpadding="1" cellspacing="1">
    <tr>
        <td width="300" bgcolor="1868b9"><table width="300"  border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td width="150" background="../images/ptl.gif"><img src="images/ptl.gif" width="150" height="220"></td>
              <td width="150" background="../images/ptr.gif" bgcolor="d3ddff"><img src="images/ptr.gif" width="150" height="220"></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td bgcolor="d3ddff">&nbsp;</td>
            </tr>
            <tr>
              <td>
                <div align="right">
  [B]AQUÍ EMPIEZA EL CODIGO DEL MENU DESPLEGABLE[/B]                <script id="Sothink Widgets:reto1.pgt" type="text/javascript" language="JavaScript1.2">
<!--
stm_bm(["tubtehr",430,"","blank.gif",0,"","",0,0,0,0,0,1,0,0,"","",0],this);
stm_bp("p0",[1,4,0,0,3,2,0,0,100,"",-2,"",-2,90,0,0,"#000000","#003399","",3,0,0,"#FFFFFF"]);
stm_ai("p0i0",[0," Home  ","","",-1,-1,0,"","_self","","","","",0,0,0,"","",0,0,0,0,1,"#003399",0,"#66CCFF",0,"","",3,3,0,0,"#FFFFFF","#FFFFFF","#FFFFFF","#000000","8pt Arial","8pt Arial",0,0]);
stm_aix("p0i1","p0i0",[0,"Products"]);
stm_bp("p1",[1,4,0,0,0,3,0,0,100,"progid:DXImageTransform.Microsoft.Wheel(spokes=16,enabled=0,Duration=0.50)",-2,"",-2,60,2,3,"#000000","#FFFFFF","",3,1,5,"#66CCFF"]);
stm_aix("p1i0","p0i0",[0,"Sothink Glanda","","",-1,-1,0,"","_self","","","","",0,0,0,"","",0,0,0,0,1,"#0099CC",0,"#003399",0,"","",3,3,0,0,"#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF"]);
stm_ai("p1i1",[6,1,"#66CCFF","",0,0,0]);
stm_aix("p1i2","p1i0",[0,"Sothink HTML Editor"]);
stm_aix("p1i3","p1i1",[]);
stm_aix("p1i4","p1i0",[0,"Sothink DHTMLMenu"]);
stm_aix("p1i5","p1i1",[]);
stm_aix("p1i6","p1i0",[0,"Sothink SlidingMenu"]);
stm_aix("p1i7","p1i1",[]);
stm_aix("p1i8","p1i0",[0,"Sothink CoolMenu"]);
stm_aix("p1i9","p1i1",[]);
stm_aix("p1i10","p1i0",[0,"Sothink CoolButton"]);
stm_aix("p1i11","p1i1",[]);
stm_aix("p1i12","p1i0",[0,"Sothink CoolText"]);
stm_ep();
stm_aix("p0i2","p0i0",[0,"Order"]);
stm_bpx("p2","p1",[]);
stm_aix("p2i0","p1i0",[0,"Sothink Glanda"]);
stm_aix("p2i1","p1i1",[]);
stm_aix("p2i2","p1i0",[0,"Sothink HTML Editor"]);
stm_aix("p2i3","p1i1",[]);
stm_aix("p2i4","p1i4",[]);
stm_aix("p2i5","p1i1",[]);
stm_aix("p2i6","p1i6",[]);
stm_ep();
stm_aix("p0i3","p0i0",[0,"Support"]);
stm_ep();
stm_em();
//-->
                  </script> [B]AQUÍ TERMINA EL CÓDIGO DEL MENÚ DESPLEGABLE[/B]





                  

                  
                  
                </div></td>
              <td bgcolor="d3ddff">&nbsp;</td>
            </tr>
          </table></td>
        <td width="433">
<?
    
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>');
?>
        </td>
    </tr>
</table>
<?php include('includes/footer.html'); ?>
</body>
</html>
Los archivos a los que se hace referencia en el script están bien y cargados, el archivo que uso de index.php es este
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.
*/
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>');
?>
a ver si me podeis orientar sobre cosas que tenga que tener en cuenta y que puedan estar dandome este error, venga de antemano muchas gracias

Última edición por mon; 23/08/2005 a las 05:40
  #2 (permalink)  
Antiguo 23/08/2005, 05:37
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
pero que error te da?
es de php o de javascript¿?

Se un poko mas concreto
oye una pregunta tu haces capoeira¿?

Un Saludo
  #3 (permalink)  
Antiguo 23/08/2005, 05:40
mon
 
Fecha de Ingreso: febrero-2003
Mensajes: 506
Antigüedad: 14 años, 10 meses
Puntos: 0
No, error no dá, simplemente no aparece un menú desplegable que está hecho en javascript, pero el menú funiona correctamente, solo que no lo muestra, he puesto el ejemplo para ver si me podeis entender, el problema está al hacer el include que no muestra esa parte de la hoja a la que hago referencia,
Podeis ver el ejemplo aquí
debería verse el menú, página principal

página cargada sola sí se vé

Y nó, no hago capoeira
  #4 (permalink)  
Antiguo 23/08/2005, 06:40
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
y seguroq ue en tu config tienes puesto para la pagina que estas mostardno el layout correcto?

Un Saludo
  #5 (permalink)  
Antiguo 23/08/2005, 07:05
mon
 
Fecha de Ingreso: febrero-2003
Mensajes: 506
Antigüedad: 14 años, 10 meses
Puntos: 0
si seguro, por eso me parece muy raro, ya trabajé antes de esta manera y todo funciona bien, no sé que puede éstár pasando, por cierto todavía no te dí las gracias por la molestia que te estás tomando, así que gracias, mira el archivo layout se llama reto.php que es el que puse más arriba y el config es este

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

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

?>
Todo esto está sacado del tutorial de zonaphp, además si no hiciese bien referencia hacia el layout no se vería nada, la cosa es que es muy raro porque tú no pudes ver en el ejemplo que pongo la página principal con el menú, no?, a ver si va a ser error de mi navegador o de mi pc, no sé ya no sé que pensar. ¿Sabes de algún otro tutorial donde explique paso a paso cómo hacer una modular?
  #6 (permalink)  
Antiguo 23/08/2005, 07:16
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
que raro no no lo veo

pero el script esta en el fuente que se genera y da un error de javascript

y el error es pro que dice que stm_bm no esta definido...
creoq ue el error esta en el archivo stm31.js que lo tienes en la carpeta de los layouts no?
es que es fuera

Un Saludo
  #7 (permalink)  
Antiguo 23/08/2005, 07:51
mon
 
Fecha de Ingreso: febrero-2003
Mensajes: 506
Antigüedad: 14 años, 10 meses
Puntos: 0
Pues claro hombre, pues claro, diossss, que empanada, si [email protected] tienes razón, es eso, tiene que estár en la raiz, jodr vaya despiste, está claro que el que sabe sabe y el que nó está como yo, muchísimas gracias de verdad
  #8 (permalink)  
Antiguo 23/08/2005, 12:39
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
de nada hombre a mandar

Un Saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:39.