Foros del Web » Programando para Internet » PHP »

Sitio Php modular y nombres de pagina

Estas en el tema de Sitio Php modular y nombres de pagina en el foro de PHP en Foros del Web. Hola a todos. Siguiendo los manuales de zonaphp he quedado sin saber como le pongo un nombre distinto a cada pagina. El codigo de la ...
  #1 (permalink)  
Antiguo 12/01/2005, 17:57
 
Fecha de Ingreso: abril-2004
Mensajes: 634
Antigüedad: 13 años, 7 meses
Puntos: 2
Sitio Php modular y nombres de pagina

Hola a todos.


Siguiendo los manuales de zonaphp he quedado sin saber como le pongo un nombre distinto a cada pagina.
El codigo de la pagina que carga los modulos (pagina index.php) es:

<?php
if(empty($_GET['modulo']))
$pagina='home.php';
else
$pagina=$_GET['modulo'];
include('includes/header.php');
include('modulos/'.$pagina);
include('includes/footer.php');
?>

Lo que hice:

1.- puse esta linea sobre else:
<title> print ('nombre_pagina');
</title>

y en cada pagina-modulo el codigo era por ejemplo

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<?php
$nombre_pagina = "Circuitos";
?>
<body>

<table width="550" border="0" cellpadding="0" cellspacing="0">

<tr>
<td width="550" height="165" valign="top" bgcolor="#993333"></td>
</tr>
</table>
</body>
</html>

no me resulto, me daba error y no se mostraba nada.

que estoy haciendo mal?.

Desde ya gracias a todos.

Última edición por edudw; 12/01/2005 a las 17:59
  #2 (permalink)  
Antiguo 12/01/2005, 21:47
 
Fecha de Ingreso: diciembre-2003
Ubicación: Campehce, Mexico
Mensajes: 325
Antigüedad: 14 años
Puntos: 0
Ps me dio weba leer pero te doy este codigo que utilizo en mis paginas:

<?php

switch($ID)

{
default:
include('default.php');
break; case "seccion1":
include('archivo.php');
break; case "seccion2":
include('otroarchivo.php');

}

?>

Ese codigo ponlo donde quieres que es muestre los archivos, por default se va a mostrar el archivo default.php y si quieres ver el contenido de archivo.php te vas a ?ID=seccion y asi te lo muestra. Todo eso es configurable.


Saludos
  #3 (permalink)  
Antiguo 13/01/2005, 15:49
 
Fecha de Ingreso: abril-2004
Mensajes: 634
Antigüedad: 13 años, 7 meses
Puntos: 2
Gracias Thund.

Pero como le pones el titulo a cada pagina? la variable title la pones en header? en el archivo.php?


Necesito ayuda.
  #4 (permalink)  
Antiguo 30/01/2005, 10:10
 
Fecha de Ingreso: abril-2004
Mensajes: 634
Antigüedad: 13 años, 7 meses
Puntos: 2
Exclamación

Realmente nadie sabe hacer eso?
  #5 (permalink)  
Antiguo 30/01/2005, 11:05
 
Fecha de Ingreso: octubre-2004
Mensajes: 751
Antigüedad: 13 años, 2 meses
Puntos: 4
Pues yo tambien aprendí ha programar páginas modulares con zonaphp hace unas dos o tres semanas.
Y lo que hice para que el título saliera automáticamente según la página que carga fue:

En el archivo conf.php a cada módulo definido le añado un linea indicando el título de forma que en vez de que se vea así:
Código PHP:
$conf['home'] = array( 
        
'archivo' => 'home.php'); 
Se vea así:
Código PHP:
$conf['home'] = array( 
        
'archivo' => 'home.php'
        
'titulo' => 'Título del home'); 
Luego en el index.php pongo la siguiente linea:
Código PHP:
$titulo $conf[$modulo]['titulo']; 
Para que al cargar el módulo asigne a la variable $titulo el título del módulo cargado.

Finalmente en el template, dentro de las etiquetas <title> pones esto:
Código HTML:
<title><? echo $titulo;?></title> 
De esta forma cuando cargas un módulo se cambia el título según lo que hayas indicado en el archivo conf.php

Espero que lo hayas entendido.
Saludos y suerte,
__________________
sergiold
  #6 (permalink)  
Antiguo 07/02/2005, 21:43
 
Fecha de Ingreso: abril-2004
Mensajes: 634
Antigüedad: 13 años, 7 meses
Puntos: 2
estoy haciendo eso que me dices sergioold, pero aún nada, seguire intentandolo...

cualquier avance te lo digo


gracias desde ya.
  #7 (permalink)  
Antiguo 22/02/2005, 01:07
 
Fecha de Ingreso: abril-2004
Mensajes: 634
Antigüedad: 13 años, 7 meses
Puntos: 2
Hola.


Esta semana retome mis practicas, pero haciendo todo lo que dice el articulo de ZPHP.com ( http://www.zonaphp.com/index.php?mod...id=34&pagina=3 ) ahora no me funciona nada y eso que copie todo igual. Aparte; donde se coloca el conf.php?, en que carpeta?


Desde ya grACIAS
  #8 (permalink)  
Antiguo 22/02/2005, 08:05
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 14 años, 1 mes
Puntos: 24
Cita:
Iniciado por edudw
Aparte; donde se coloca el conf.php?, en que carpeta?
Em esta parte del codigo de la index.php podes ver que tenes que ponerlo en la misma capreta donde esta la index.php.

Código PHP:
<?php 
// Primero incluimos el archivo de configuración 
include('conf.php');

Última edición por lisandro Arg; 22/02/2005 a las 08:07
  #9 (permalink)  
Antiguo 22/02/2005, 10:56
 
Fecha de Ingreso: abril-2004
Mensajes: 634
Antigüedad: 13 años, 7 meses
Puntos: 2
Gracias. Pero algo que no se que es no funciona. El sitio sencillamnet no se ve, he probado los archivos por separado y estos se visulaizan correctamente, pero el index se visualiza blanco nada mas, no da mensaje de advertencia alguno, he probado cambiando alguna cosa en los archivos que incluye, pero no hay caso...
  #10 (permalink)  
Antiguo 23/02/2005, 12:18
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 14 años, 1 mes
Puntos: 24
Pone esta index.php
Código PHP:
<?php 
// 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>'); 
   
?>
Este 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'
        
'titulo' => 'Titulo por defecto',
        
'layout' => LAYOUT_DEFECTO );  

$conf['articulo'] = array(
        
'titulo' => 'Titulo del articulo',
        
'archivo' => 'articulo.php' ); 

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


?>
en la carpeta layouts layout_simple.php
Código HTML:
<html> 
<head> 
    <title><? echo $conf[$modulo]['titulo'] ?></title> 
</head> 
<body bgcolor="#9999cc"> 
<basefont color="white" face="Verdana" /> 

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

<table width="100%" border="0" cellspacing="1" cellpadding="1"> 
    <tr> 
        <td width="140" bgcolor="#5b69a6"> </td> 
        <td> 
<? 
    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> 
Dentro del la carpeta modulo home.php que es el que se carga por defecto
Código HTML:
<h3>Bienvenido al Home</h3> 
<p>Este es un ejemplo de un sitio modular, como vemos, las páginas que 
componen los módulos, pueden ser tanto archivos.php como archivos.html, 
todo dependiendo de si necesitamos interactividad o no con el Servidor. 
La hora actual es : <b><?=date("H:m:s");?></b></p> 
<p>Para ver el contenido de un artículo, por favor, seguir el 
<a href="?mod=articulo">siguiente link</a>.</p> 
despues solo te queda pones artuculo.php y imprimir.php pero no creo que tengas problemas con eso.

Última edición por lisandro Arg; 23/02/2005 a las 12:21
  #11 (permalink)  
Antiguo 11/05/2005, 11:38
 
Fecha de Ingreso: abril-2004
Mensajes: 634
Antigüedad: 13 años, 7 meses
Puntos: 2
si, si ahora parece que anda, gracias...habia dejado de lado esto. les agradezco un monton. Tambien consegui un buen libro de php, ojala me sirva.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 08:53.