Foros del Web » Programando para Internet » PHP »

Insertar Modulo con include dinamicamente

Estas en el tema de Insertar Modulo con include dinamicamente en el foro de PHP en Foros del Web. Hola a todos. A petición de 2 usuarios en el foro de Xhtml, explico aquí como insertar un modulo (página) dentro de nuestra web dinamicamente. ...
  #1 (permalink)  
Antiguo 20/05/2007, 16:06
 
Fecha de Ingreso: diciembre-2005
Mensajes: 136
Antigüedad: 18 años, 4 meses
Puntos: 2
Insertar Modulo con include dinamicamente

Hola a todos.
A petición de 2 usuarios en el foro de Xhtml, explico aquí como insertar un modulo (página) dentro de nuestra web dinamicamente. Esto nos puede servir para cambiar solo una zona de nuestra página web, cuando todo el resto son iguales.

Lo primero que tenemos que hacer es diseñar cada "modulo" de nuestra página de forma individual. En este caso vamos a utilizar 3 modulos que aparecen en todas las páginas y 2, que sería el de contenido y que cambia cada vez.

Crearemos los modulos que apareceran en todas las páginas cabecera.html, menu.html y pie.html y luego, vamos a crear 2 modulos de contenido que seran los que cambiaran contenido1.html y contenido2.html. Lo que pongaís en cada modulo es indiferente, es solo para probar el efecto.

A continuación, creamos la página donde vamos a insertar todos los modulos, que le vamos a llamar index.php y en ella, el código va a ser mas o menos como pongo a continuación:

Código:
<?
  $contenido= $HTTP_GET_VARS['contenido']; //Aquí cogemos la variable de la URL
?>

<?
  include('cabecera.html'); //Donde queramos incluir la cabecera
?>

<?
  include('menu.html'); //Donde queramos incluir el menu
?>

<?
  include($contenido); //Donde queramos incluir el contenido. 
En este incluira lo que le hayamos indicado a través de la URL
?>

<?
  include('pie.html'); //Donde queramos incluir el pie
?>
Lo que hacemos con este código es coger un valor que nos pasa a través de la URL y lo utilizamos para indicarle que modulo de contenido queremos utilizar en esa zona de la página.

A tener en cuenta

Todos los enlaces serán con el formato index.php?contenido=contenido1.html, por ejemplo.

En las estadisticas de visitas a tu web, la página más visitada sera siempre index.php, que es la que siempre se visita. Podrías controlar las visitas a cada sección utilizando una variable que cambiase el título de la página, por ejemplo index.php?contenido=contenido1.html&titulo=Titulo del contenido 1

Al entrar en el dominio, si solo se abre index.php, evidentemente le falta la variable y se queja. Se puede solucionar poniendo la página en un marco dentro de index.html, o utilizando la función IF para comprobar si falta la variable y entonces asignarle una por defecto, etc...

Este es el sistema que utilizan los CMS (PHP Nuke y demas), lo unico que pasa es que ellos controlan los modulos visibles y la posición de los mismos a través de una base de datos.

Espero que este pequeño tutorial pueda ser de utilidad.
__________________
http://www.egarahosting.com
Hosting y Dominios
  #2 (permalink)  
Antiguo 23/05/2007, 09:51
Avatar de Aimarejada  
Fecha de Ingreso: abril-2006
Mensajes: 207
Antigüedad: 18 años
Puntos: 0
Re: Insertar Modulo con include dinamicamente

Gracias por el tema y ayudarnos desinteresadamente.

Se me ocurrio que podiamos hacer basicamente lo que tu comentas y lo que hacia yo antes, osea coger la web una vez hecha y si esta compuesta por una cabecera, un menu, el contenido y los pies pues dividir esta en 3 archivos.

En un archivo se meteria la cabecera y el menu, en otro se meteria el contenido y en el otro los pies.

Un ejemplo de lo que estoy diciendo seria esto una pagina donde tuvieramos fotos puestas.

Código:
<html>
   <head>
       <title></title>
   </head>

<body>

<? include 'Cabeceramenu.php'; ?>

Aqui las fotos

<? include 'Pies.php'; ?>

</body>

</html>
Pongamos que la web tiene en el menu estos enlaces: fotos, juegos y musica

Tendriamos 1 archivo con la cabecera y el menu, 1 archivo con los pies y luego 3 paginas que nada mas que tendrian lo que puse en el ejemplo de arriba.

De esta forma cuando tuvieramos que actualizar o modificar la web solo tendriamos que modificar los archivos cabeceramenu.php y pies.php ya que el resto de paginas no contendrian nada del diseño de la web solo el contenido.

Todavia no lo probe pero creo que puede funcionar ya que es basicamente lo que utilizas tu y lo que utilizaba yo antes.
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 21:19.