Foros del Web » Programando para Internet » PHP »

Problema al cargar módulo

Estas en el tema de Problema al cargar módulo en el foro de PHP en Foros del Web. Tengo una web modular, en que desde la página de inicio se cargan diferentes módulos de contenido, dentro de un layout determinado. El código del ...
  #1 (permalink)  
Antiguo 06/06/2008, 12:51
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 15 años, 10 meses
Puntos: 0
Problema al cargar módulo

Tengo una web modular, en que desde la página de inicio se cargan diferentes módulos de contenido, dentro de un layout determinado.

El código del layout es:

Código:
<?php include('includes/no_reg_header.html'); 

	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>');


 include('includes/footer.html'); ?>
que incorpora del archivo de configuración:

Código:
define('MODULO_DEFECTO', 'home');
define('LAYOUT_DEFECTO', 'layout_basic.php');
define('MODULO_PATH', realpath('./modulos/'));
define('LAYOUT_PATH', realpath('./layouts/'));

$conf['home'] = array(
		'archivo' => 'home.html',
		'layout' => LAYOUT_DEFECTO );
El header y el footer me los interpreta perfectamente como HTML y aplica perfectamente la hoja de estilos adjunta en el header, pero en los módulos no. Creo que me los interpreta como PHP aunque sea un archivo .html porque las tíldes no me las reconoce como UTF-8 y al ponerlas &iacoute lo interpreta como un operador. (Al leer el código fuente en FF esto está en rojo, color del PHP)

¿Alguien sabe donde puede estar el problema?
  #2 (permalink)  
Antiguo 06/06/2008, 13:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al cargar módulo

te refieres al include() ???

puedo ver el código... o un enlace?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/06/2008, 13:15
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema al cargar módulo

El index llama al layout y al módulo en cuestión:

Código:
$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>');
y el código del layout y de definición del módulo están en el post anterior. Los módulos no son más que archivos HTML o PHP del tipo

Código:
<h1>Título</h1>
<p>Lo que sea</p>
No lo tengo subido en remoto así que no puedo dar un link.
  #4 (permalink)  
Antiguo 09/06/2008, 11:38
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema al cargar módulo

Aunque la página que cargue sea un archivo .php, el contenido HTML debería interpretarse correctamente como HTML ¿verdad?
  #5 (permalink)  
Antiguo 09/06/2008, 20:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al cargar módulo

exacto...

aun asi, si hay diferencias entre un include() y require() consúltalo en la pagina de PHP

http://php.net/include
http://php.net/require

demás, tienes razón... indistintamente solo interpretara el <?php // interior ?> dejando el HTML, exterior... intacto

PDTA: incluso, no importaría el tipo de extensión empleada...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 10/06/2008, 09:53
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema al cargar módulo

En realidad diría que sí que carga el HTML correctamente pero no sé por qué me interpreta mal las tildes. Tanto en el header, como en el footer lo hace correctamente, pero en el módulo que varía no, aunque todos los usan un include(). Sólo varía que el módulo sigue un path y los otros cargo el archivo directamente:

Código PHP:

<?php include('includes/no_reg_header.html'); 

    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>');


 include(
'includes/footer.html'); ?>
Supongo que tendré que tener en cuenta el tema de las tildes a la hora de crear los diferentes módulos.
  #7 (permalink)  
Antiguo 10/06/2008, 09:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al cargar módulo

si, recuerda que debes mantener la misma codificación en tu documento HTML, como en la base de datos... y también, a la hora de escribir en el archivo.... eso es vital! (osea cuando creas un archivo nuevo a mano... o bloc de notas, lo que uses, pues...)

mientras mas equilibres las codificaciones menos problemas tendrás, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 10/06/2008, 10:12
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema al cargar módulo

Al fin lo he solucionado, gracias. Era un problema de DW que al no tener cabecera los módulos me los codificaba por defecto en <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> en lugar de UTF-8 como el resto de elementos. Gracias por la ayuda.
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 17:46.