Creando Webs Modulares

Publicado en Principiantes por Webstudio el November 21st, 2003

Creando Módulos

Tenemos dos opciones a la hora de crear un archivo de layout. Son las siguientes:

  • Incluir Headers y Footers comunes a todas las páginas dentro del index.php, ANTES y DESPUES de incluir el archivo de Layout, en el que dejaremos solo el diseño propio de la página para que albergue al módulo. Esto es útil en el caso de que un archivo de Layout no se encuentre o no sea necesario, y al incluir el Módulo, ya esté cargado el Header y luego sea incluido el Footer.
  • Hacer que el archivo de Layout, aparte de incluir el archivo del Módulo, sea el encargado de incluir Headers y Footers, lo cuál puede ser útil si el diseño general de varias secciones del sitio cambia drásticamente, como distintas subsecciones con Headers y Footers diferentes, o en el caso de "Versiones para Imprimir" o la creación de versiones en PDF de ciertos artículos.

Yo voy a elegir en este caso la segunda opción. Haré que el archivo de Layout 'layout_simple.php' (el Layout por defecto, según el archivo dFe configuración) sea el encargado de incluir los archivos que hacen de Header y ooter en la aplicación. Esto es preferible a la primera opción ya que si, por ejemplo, queremos que un módulo específico de nuestra aplicación, devuelva un archivo .GIF como resultado ( utilizando GD ), entonces de esta manera, podremos indicar para ESE módulo, un archivo de Layout que se encargue de enviar los Headers correctos y luego incluir el archivo del módulo. Pero no se preocupen por estas consideraciones, ahora, veamos un ejemplo de Layout, que guardaremos en el directorio /layouts:

layout_simple.php

PHP:
  1. <html>
  2. <head>
  3.    <title>Tu Sitio Modular</title>
  4. </head>
  5. <body bgcolor="#9999cc">
  6. <basefont color="white" face="Verdana" />
  7. <?php include('includes/header.html'); ?>
  8. <table width="100%" border="0" cellspacing="1" cellpadding="1">
  9.    <tr>
  10.        <td width="140" bgcolor="#5b69a6"> </td>
  11.        <td>
  12. <?
  13.    if (file_exists( $path_modulo )) include( $path_modulo );
  14.    else die('Error al cargar el módulo <b>'.$modulo.'. No
  15.    existe el archivo <b>'.$conf[$modulo]['archivo'].'</b>');
  16. ?>
  17.        </td>
  18.    </tr>
  19. </table>
  20. <?php include('includes/footer.html'); ?>
  21. </body>
  22. </html>

¿Ven? es un simple archivo HTML con la estructura básica de las páginas de nuestro sitio, incluyendo el Header, el Footer y el código necesario para llamar al módulo pedido por el usuario. Por favor noten el uso de la variable $path_modulo, para indicarle al Layout el nombre del módulo que queremos cargar, variable creada en el index.php y propagada al archivo de Layout por estar éste, incluido en el primero.

Entonces, ya tenemos nuestro index.php, tenemos el Layout que se encarga de incluir el módulo... ¿Qué nos falta? ¡Pues el módulo! ÿstos pueden ser tan complejos o tan simples como el usuario quiera. En el ejemplo siguiente, un módulo "home" bien simple, que se carga por defecto en nuestra aplicación :

home.php

PHP:
  1. <h3>Bienvenido al Home</h3>
  2. <p>Este es un ejemplo de un sitio modular, como vemos, las páginas que
  3. componen los módulos, pueden ser tanto archivos.php como archivos.html,
  4. todo dependiendo de si necesitamos interactividad o no con el Servidor.
  5. La hora actual es : <b><?=date("H:m:s");?></b></p>
  6. <p>Para ver el contenido de un artículo, por favor, seguir el
  7. <a href="?mod=articulo">siguiente link</a>.</p>

De nuevo, un poco de HTML por aquí, un poco de PHP por allá. Cabe notar, eso si, la manera en la que hicimos un link hacia OTRA página de nuestro sitio: "?mod=articulo". Con esto, le indicamos al navegador, que queremos cargar el mismo archivo que tenemos actualmente, solo que con este nuevo "querystring". Si la página actual fuera algo como:

http://localhost/modulares/index.php

Indicando un link como recién, al hacerle click cambiaría a :

http://localhost/modulares/index.php?mod=articulo

O sea, queremos cargar OTRO módulo, esta vez llamado "articulo". Como ya todo el trabajo árduo está hecho, solo tenemos que crear un archivo llamado art.php (ya que así lo indica el archivo de configuración) en el directorio /modulos/.

art.php

PHP:
  1. <h3>Título del Artículo</h3>
  2. <p>Aqui tenemos el ejemplo de un artículo cargado en nuestra Web Modularizada.
  3. En este ejemplo simple, el artículo o nota, está escrito en HTML directamente,
  4. pero podría estar siendo sacado de la base de datos si quisiéramos, no tenemos
  5. limitación al respecto.</p>
  6. <p><a href="?mod=imp_art" target="_blank">Versión para Imprimir</a> |
  7. <a href="?mod=home">Volver al Home</a>.</p>

Así vemos, como crear un nuevo módulo es tan sencillo como crear el archivo pertinente, dejarlo en el directorios de Módulos, y actualizar el archivo de configuración para que permita accederlo. ÿste módulo, al no indicarse que Layout utiliza, vemos como toma el Layout por Defecto, o sea, el mismo que el Home. Cómo último paso, al final del artículo, tenemos dos links, uno, que nos regresa al Home del Sitio y el otro, el que nos interesa ahora, que ofrece una "Versión para Imprimir" del artículo. Modifiquemos nuestro archivo de configuración y agreguemos un nuevo módulo, que nos permita ofrecer una versión "Imprimible" del Artículo. Luego de editarlo, quedaría asi :

conf.php

PHP:
  1. <?php
  2. /*
  3. * Archivo de configuración para nuestra aplicación modularizada.
  4. * Definimos valores por defecto y datos para cada uno de nuestros módulos.
  5. */
  6. define('MODULO_DEFECTO', 'home');
  7. define('LAYOUT_DEFECTO', 'layout_simple.php');
  8. define('MODULO_PATH', realpath('./modulos/'));
  9. define('LAYOUT_PATH', realpath('./layouts/'));
  10.  
  11. $conf['home'] = array(
  12.        'archivo' => 'home.php',
  13.        'layout' => LAYOUT_DEFECTO );
  14. $conf['articulo'] = array(
  15.        'archivo' => 'art.php' );
  16. $conf['imp_art'] = array(
  17.        'archivo' => $conf['articulo']['archivo'],
  18.        'layout' => 'imprimir.php' );
  19. ?>

¿Llamamos al mismo módulo? Así es. Pero la sutil diferencia es que lo incluimos con un Layout distinto, más limpio, apto para salir por impresora. Aqui un ejemplo de este Layout, que utiliza Cascading Style Sheets :

imprimir.php

PHP:
  1. <?
  2. $uri = "http://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
  3. ?>
  4. <html>
  5. <head>
  6.    <title>Versión para Imprimir</title>
  7. </head>
  8. <style type="text/css">
  9. .imprimir {
  10.    margin: 3%;
  11.    border: 2px solid black;
  12.    padding: 2%;
  13. }
  14. #pie {
  15.    font-size: 8pt;
  16. }
  17. </style>
  18. <body>
  19. <div class="imprimir">
  20. <?
  21.    if (file_exists( $path_modulo )) include( $path_modulo );
  22.    else die('Error al cargar el módulo <b>'.$modulo.'. No existe el archivo <b>'.$conf[$modulo]['archivo'].'</b>');
  23. ?>
  24. <i id="pie">Este artículo se puede encontrar en : <a href="<?=$uri?>"><?=$uri?></a></i>
  25. </div>
  26. </body>
  27. </html>

Pages: 1 2 3 4 5 6

87 respuestas a 'Creando Webs Modulares'

Suscríbete a los comentarios con RSS o realiza un TrackBack a 'Creando Webs Modulares'.

  1. Mario dijo,

    el December 30th, 2005 a las 6:19 am

    Gracias por el artículo, está genial, muy bien explicado y no parece difícil. Programo en Java, y esporádicamente he desarrollado pequeñas aplicaciones con PHP4, por lo que no soy muy experto en el tema, la verdad es que esto me ha aclarado varias cosas. Solamente me queda una duda: Porqué dices que tu ejemplo no es apto para producción ??, piensas que falta algo ?. Gracias

  2. luis zuluaga dijo,

    el December 30th, 2005 a las 12:37 pm

    Excelente articulo, es muy ameni leerlo…

    tambien me alegra que esten tratando de revivir a ZONAPHP ya estaba un poco silenciosa en muchos temas, y espero que con el rediseño vengan nuevas cosas

  3. Pablo dijo,

    el December 31st, 2005 a las 9:11 am

    Me ha encantado el tutorial. Después de leermelo unas cuantas veces he decidido ponerme manos a la obra y remodelar mi web entera. Cuando esté terminada os aviso para que veáis mis primeros pasos en php…
    Un Saludo!!

  4. Fenix_Xanadu dijo,

    el January 2nd, 2006 a las 12:49 pm

    Esta excelente. Con eso digo todo

  5. Optimus dijo,

    el January 11th, 2006 a las 1:03 am

    solo me daba una vuelta por que uno no se las sabe todas y es bueno estar leyendo documentacion de interes aun cuando no lo apliques, aun estoy terminando mi sitio web pero de hecho l oque tengo en internet lo tengo estatico por que no lo termino en mi pc.
    Ahoa todo esta simple y comprensible, pero por que dices que no es apto para que lo usen en sus sitios web? ya lo descargo y lo analizo haber si encuentro el por que.

  6. xanadu dijo,

    el February 22nd, 2006 a las 1:45 pm

    Muy bien, lo he puesto en practica y funciona muy bien, pero hay un pequeño detalle y espero que me puedan ayudar porque sigo teniendo el mismo problema de seguridad… Hago la prueba en mi computadora….

    como le hago para que una persona no pueda entrar desde la barra de navegación a una sección de alta de usuarios en la cual se asignan privilegios, es decir que escriban esto en la barra de navegación:

    http://127.0.0.1/index.php?mod=alta

    Tengo el archivo de configuración en el cual valida los modulos permitidos, y tuve que agregar el modulo de alta_usuarios al archivo de configuración porque yo lo cargo desde un archivo que valida al usuario que se registro, lo cargo de esta manera header(”Location:index.php?mod=alta”);
    Así que es necesario que como se podran dar cuenta ahi hay un fallo en la seguridad, ya que cualquier persona que sepa el nombre del modulo puede entrar sin ningun problema.

    Espero que me entiendad y si hay alguna forma de resolver esto que me digan.

  7. Mao dijo,

    el March 6th, 2006 a las 5:36 pm

    Estoy rediseñando mi sitio con base a este excelente articulo pero tengo un pequeño problema, al tratar de incluir un menu emergente por medio de un Script de Java en el header, pero al subirlo al servidor, el menu por mas que lo intento no sale y en la vista previa que hago en forma local si funciona, no entiendo que sucede.

  8. xanadu dijo,

    el March 7th, 2006 a las 1:34 pm

    Ya resolvi el problema que tenia, ahortengo mejor seguridad…. y con esto todo esta excelente

  9. aquarius dijo,

    el March 9th, 2006 a las 10:26 pm

    Xanadu, podrias indicar como hiciste lo de seguridad del alta de usuarios?

  10. Felipe dijo,

    el March 10th, 2006 a las 7:21 pm

    Hola, Necesito ayuda para instalar el PHP en windows XP SP2 y como cargar los ejemplos en el navegador .
    Gracias
    Felipe Soto

  11. KeLDroX dijo,

    el March 13th, 2006 a las 1:23 pm

    Hay un error en esta parte del texto:

    “Una base de datos definitivamente haría más sencillas las cosas, pero limitaría la utilidad de este método a aquellos servidores que posean bases de datos.”

    Que no posean bases de datos …. Es una pequeña tonteria pero es para que lo sepas. Un pedazo de articulo se agradece muxo! Muchas gracias y un saludo atento.

  12. Webstudio dijo,

    el March 13th, 2006 a las 2:41 pm

    Keldrox, muchas gracias por el comentario. Ya fue corregido.
    Saludos !

  13. Edgar Leon dijo,

    el March 14th, 2006 a las 9:44 pm

    Hola, me parecio fantastico, obiamente encontre algunos problemas trabajando con formularios que se llaman a si mismos, pues como se esta diseñado para que todas las hojas se carguen usando una unica entrada, no pude hacer que una pagina se llame a si misma, para que las variables _POST se puedan transportar.

    De todas formas la idea es fantastica

  14. aquarius dijo,

    el March 15th, 2006 a las 3:48 pm

    Holas, bueh, tengo una consulta, resulta que he seguido los pasos y he creado otro layouts y bien, ahora iba en la parte de imprimir, resulta que no me envia a la pagina de imprimir si no al home….le he agregado esto al conf.php y me ha quedado de esta manera…

    define(’MODULO_DEFECTO’, ‘home’);
    define(’LAYOUT_DEFECTO’, ‘layout_simple.php’);
    define(’LAYOUT_IMPRIMIR’, ‘layout_imprimir.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['imp_art']['archivo'],
    ‘layout’ => LAYOUT_IMPRIMIR );

    Donde layout imprimir es lo mismo que imprimi.php, tonces llamo a imp_art con solamente el texto, pero al parecer no se le puede aplicar el css, en realidad aun no llego a esa parte por que al hacerle click me devuelve al home… :s alguien sabe como solucionarlo?

  15. aquarius dijo,

    el March 15th, 2006 a las 4:47 pm

    ya lo he solucionado, mil disculpas, era un problema de la localizacion del include, pero ahora tengo otro problema, he creado 2 modulos adicionales, pero al momento de cargarlos no me deja verlos, me dice que no existen *_*

  16. enrike dijo,

    el March 17th, 2006 a las 1:00 pm

    Hola muchas gracias por el tema q tratas =D interesante ..
    me gsutaria saber si alguno de uds sabe …
    soy principiante y he hecho algunas paginas en asp net. .
    bueno alli el codigo HTML esta separado de las *.aspx
    toda la logica se programa en una ventana diferente a la de diseño.
    de que manera se puede esto usando PHP,algun buen programa q me puedan recomendar para hacer un trabajo parecido =P

    gracias .. y soy principiante no lo olviden =$

  17. Mao dijo,

    el March 17th, 2006 a las 4:49 pm

    Estoy rediseñando mi sitio con base a este excelente articulo pero tengo un pequeño problema, al tratar de incluir un menu emergente por medio de un Script de Java en el header, pero al subirlo al servidor, el menu por mas que lo intento no sale y en la vista previa que hago en forma local si funciona, no entiendo que sucede.

    lo mas raro es que otros scripts de java si funcionan (marquesinas) pero el script del menu no lo reconoce AYUDENME!!!!!!!

  18. Daniel dijo,

    el March 27th, 2006 a las 3:17 pm

    tengo una duda, soy novato en esto y por eso entiendo poco.
    que pasa si tengo ciertos modulos que trabajan con sesiones o cookies, como lo haria para crearlas sy ya tendre codigo html creado antes por medio del index.php??
    Si esta poco clara mi consulta o mal redactada me avisan y lo planteo de otra forma.

    Gracias de ante mano

  19. cmpumarejo dijo,

    el March 31st, 2006 a las 2:30 pm

    Muy buen articulo, y ahora estoy tratando de usar las ideas aquí planteadas en mi proyecto pero también quiero incluir POO y la verdad me estoy volviendo un ocho tratando de usar las dos cosas, es probable que el problema no sea mas que dedicar un poco mas de tiempo a diseñar bien antes de codificar, pero la verdad me gustaría que dieran algunos consejos para poder aplicar estos dos practicas que la verdad me parece que son muy buenas.

    Mil gracias por la información y espero que este sitio siga incluyendo artículos que nos ayuden a los que estamos en este proceso de aprendizaje, yo por mi parte tengo algunas sugerencias.

    Imagino que mi mail queda registrado pero igual lo coloco cmpumarejo@yahoo.com

  20. Pablo dijo,

    el May 3rd, 2006 a las 3:30 pm

    Hola, soy el que escribió el tercer comentario. Por fin me decidí a acabar mi web modular.

    Os dejo la url para que podáis visitarla. Muchas gracias al autor del artículo, me ha servido de mucho.

    http://www.tudeladeduero.info

  21. LeI PuNk dijo,

    el May 18th, 2006 a las 3:43 pm

    con respecto al documento descrito, estoy diseñando lo mismo, al igual como dices al final del texto, el problema es que hay que realizar varias paginas, por lo modulos que haces, abra otra manera de realizarlo agregando variales ????
    esa es mi duda si se pudiera responder agradecido

  22. Jeronimus dijo,

    el May 23rd, 2006 a las 9:04 pm

    Hola. has salvado mi vida con este articulo jejeje.

    Saludos.

  23. Seixas dijo,

    el May 24th, 2006 a las 12:46 pm

    ¡Lo he decidido! Voy a pasarme de ASP a PHP. Llevo prácticamente desde que empecé con ASP, hace dos años, leyendo que PHP es mejor, pero no me he decidido a dar el paso porque la empresa donde hasta hace poco trabajaba era fiel a ASP. Pero tras leer este excelente artículo no hay excusas que valgan.

    Felicidades al autor.

  24. Rakkie dijo,

    el June 13th, 2006 a las 10:19 pm

    Arrrg! debo ser la única que no entiende! estoy tratando de colocar una web modular en mi blog, eliminé la parte de layouts porque es uno solo y es innecesario, pero me da error!! me sale esto donde debería estar el contenido:

    Parse error: syntax error, unexpected ‘;’, expecting ‘)’ in /home/public_html/rakkie/config.php on line 6

  25. sandra dijo,

    el June 17th, 2006 a las 4:33 am

    hola, creo que mi comentario llega muy tarde, pero tengo una duda: si creo varios modulos, y con ellos sus respectivos layouts, y en layout le pongo los metas (description, keywords, etc) seran indexados por los buscadores como lo hacen con los documentos html ??? o es muy necesario hacer las URL amigables como dicen en otro articulo??? saludos y gracias, eh aprendido desde 0 con este tutorial

    sandra

  26. Juan dijo,

    el June 18th, 2006 a las 11:37 pm

    LEs quiero consultar algo urgente, necesito para el mismo ejemplo en el header meter un flash lo hago pero no me los muestra, no se que mas podria hacer, sigo leyendoAtte.
    Gracias

  27. Jeronimus dijo,

    el June 20th, 2006 a las 2:56 pm

    Hola, me surge una duda, ¿Como hago para pasar mas valores por URL ? Tomando en cuenta los alias.
    Intenté añadiendo después del alias del módulo la variable y el valor ?mod=procesa&mi dato=dato y en el archivo de configuración escribí $midato = $_GET['midato']; para que fuera recibido por $conf['procesa&midato=$midato'] = array( ‘archivo’ => ‘procesa.php?midato=$midato’); y así pudiera pasar valores por medio de URL, pero no funciona. ¿Alguién puede ayudarme?

    Muchas gracias

  28. VidolS dijo,

    el June 22nd, 2006 a las 11:00 am

    Excelente el Tutorial para principiantes. La verdad que nunca trabaje en php pero me resulto bastante sencillo, muy bien explicado la verdad se pasaron.

    Felipe: la manera mas fácil de instalar el php en tu pc, es instalando el wamp server. Incluye El apache, mysql, y otras cosas mas. Instalas el server y sale andando, no necesitas configurar archivos ni nada, obvio puede que ciertas funciones no trabajen correctamente, pero las funciones básicas como include las setencia if else que se utilizan en este tutorial no vas a tener ningún tipo de inconveniente. Aca paso el link para los que quieran pobrar este server, la verdad lo recomiendo muy bueno. http://www.wampserver.com

    Saludos Mario

  29. federico dijo,

    el July 21st, 2006 a las 6:46 pm

    me gustaría si me puedes dar una mano, quisiera incluir una variable para cada módulo, así el layout_simple.php toma la variable del .. esto lo hice de la siguiente manera, pero no funciona..
    en el conf.php

    $conf['home'] = array(
    ‘archivo’ => ‘home.php’,
    ‘layout’ => LAYOUT_DEFECTO );
    $title = ‘HOMEPAGE’;
    $conf['contacto'] = array(
    ‘archivo’ => ‘contacto.php’ );
    $title = ‘Este es el título de la página contacto’;

    y en ek layout_simple.php tiene >>>

    me toma los titles, pero para todos los módulos me usa solo el title del módulo especificado más abajo en el conf.php (siempre el mismo)

    Muchas gracias.

  30. nelson dijo,

    el July 24th, 2006 a las 11:55 pm

    hola amigo que tal, tu tutorial me parece excelente,pero tengo un pequeño problema a la hora de ponerlo en marcha, cuando lo ejecuto en php todo sale bien, pero le inclui unas imagenes al header y no salen solo aparece el espacio en blanco como si la imagenen no estuviera hay y un pequeño icono en el estremo superior izquiero que solo aparece cuando una imagene ha sido movida o eliminana en una pagina web, no entiendo por que no salen las imagenes quisiera que me ayudaras en esa párte cualquier respuesta me la puedes enviar a neyelohi@yahoo.com chaoooo

  31. nelson dijo,

    el July 25th, 2006 a las 11:07 pm

    hola amigo me parece genial tu articulo de modularizar web, pero cuando introdusco una imagen no sale por que? quisiera que me respondieras esa pregunta

  32. Chrono dijo,

    el July 26th, 2006 a las 4:57 pm

    Digamos que quiero colocar unos includes, como podria hacerlo para que funcione con estos templates?

  33. Emiliano dijo,

    el July 31st, 2006 a las 1:06 am

    Muy buen arituclo, es realmente bueno.. no sabes caunto me sirvio!!!

    Te agradezco un montor por ayudar asi.

    Saludoss!

  34. Jorge Diaz dijo,

    el July 31st, 2006 a las 6:00 pm

    Quisiera saber urgentemente como hacer para poner 2 imagenes diferentes en el footer y el header ya q yo lo he estado intentando pero no me sale, ya q se carga la imagen del footer en el header pero yo quiero poner 3 imagenes diferentes q se complmenten (imagenes de fondo) una para el header, otra para el footer y otra para el index de tal manera q todas parezcan una sola, si alguien me puede ayudar escribame a darko_ja@(hotmail)dotcom

  35. xanadu dijo,

    el August 7th, 2006 a las 10:35 am

    Que tal jorge, para tu pregunta, quizas lo que ptu preyendes lo puedes hacer facilmente con photoshop, utilizando sectores para dividir una imagen, y despues exportar como documento HTML.

  36. linda dijo,

    el August 12th, 2006 a las 12:45 am

    Hola he edescargado el archivo y al mometo de abrirlo en mi navegador me presenta el siguiente error ‘.$modulo.’. No existe el archivo ‘.$conf[$modulo]['archivo'].”); ?>.
    A que se debe? es obvio que no se mucho de php pero seria mucha melestia que me ayudaran.:)

  37. linda dijo,

    el August 12th, 2006 a las 2:17 am

    Hola de nuevo ya he solucionado el problema anterior(Solo era el php.ini). Gracias de todas formas, espero y me ayuden en otras dudas.

  38. joseantonio dijo,

    el August 22nd, 2006 a las 11:17 am

    hola que buen tuto!!!, pero tengo el mismo problema, cuando pongo un flash en el header no me aperece, q estoy haciendo mal??????

  39. Loboza dijo,

    el September 6th, 2006 a las 7:01 pm

    ¿Linda, como lo solucionaste? A mi me pasa lo mismo.

  40. eduardo dijo,

    el September 7th, 2006 a las 3:41 am

    estoy recopilando información de PHP y esto es muy bueno.

  41. Claudia dijo,

    el September 21st, 2006 a las 1:49 pm

    Hola:
    Este artículo me ayudó a comprender un poco más PHP, gracias.

  42. alejandro dijo,

    el September 26th, 2006 a las 1:21 am

    Se podría agregar en el arch. de configuración, un dato más para cada módulo, que indique el título de la página. Y que el Layout se encargue de utilizar ese valor dentro del tag …..

    Si, pero alguien sabe como?, acaso se puede hacer un include entre las etiquetas HEAD..

  43. emmanuel dijo,

    el October 10th, 2006 a las 12:03 pm

    cuando cargo el prog en el navegador me aparece este error ?.$modulo.?. No existe el archivo ?.$conf[$modulo][?archivo?].’?); ?>.
    alguien sabe QUE tengo que hacer ? muchas gracias


  44. el October 25th, 2006 a las 7:26 pm

    Hola estoy trabajando con CSS y PHP y me ha parecido muy bueno este tuto pues siempre me pregunté cómo se podia hacer eso de los modules.php?elnombre…. etc como por ejemplo en el phpnuke, y este tuto me ha aclarado las cosas gracias muchachos!


  45. el November 19th, 2006 a las 1:07 am

    [...] Una solución que he llegado a hacer (sin tener que implementar un sitio modular) es que exista un archivo configuración.php con referencias a todos los "paquetes" del sistema e incluirlo en todos los fuentes que necesiten usarlos. [...]

  46. Spidex dijo,

    el November 26th, 2006 a las 6:43 pm

    Diseño en 3 capas y problemas ar FX Design

    Podrias explicarte un poco mas sobre que el archivo configuracion.php.
    Estoy intenado hacer algo similar.

  47. Luis dijo,

    el December 5th, 2006 a las 2:23 pm

    Hola esta piola este sitio seria mas piola si agregan modulos de sistemas desarrolados

  48. Juan Pablo dijo,

    el December 29th, 2006 a las 11:33 pm

    Hola a todos …
    Esta muy interesante el articulo, sobre todo porque plantea la utilizacion de un patron para hacer mantenibles nuestras aplicaciones, sin embargo para hacer mantenible la capa de presentacion de mis aplicaciones prefiero (como otra opcion) utilizar el CSS en sus dos variantes: maquetacion y presentacion, en realiadad me parece mas practico debido a la facilidad de su uso. Bueno ahi les dejo algunos links para que puedan investigar un poco.
    -> Metodologia de maquetacion CSS http://maxdesign.com.au/presentation/process/
    -> Maquetar con Extensiones de Firefox (buenisima)
    http://blog.levhita.net/2006/01/25/firefox-como-suite-de-desarrollo-css/


  49. el January 12th, 2007 a las 5:57 pm

    Creando Webs Modulares con PHP…

    Después de embeber código PHP entre el HTML por un tiempo, cualquier principiante que esté en planes de dejar de serlo, ve cierto patrón que se repite y piensa… ¿No habrá otra manera mejor, más ordenada de hacer esto?. Pues si, si la hay. Y en…

  50. Lito dijo,

    el January 13th, 2007 a las 2:45 pm

    El código está bien, pero el siguiente paso sería la implementación del miso en clases para un sencillo manejo.

    También se debe optimizar por ejemplo usando if_file en vez de file_exists para la comprobación de existencia del fichero ya que es mucho más rápido y este es código que se ejecuta en cada petición por lo menos una vez.

    Lito.

  51. pepelon dijo,

    el January 16th, 2007 a las 9:25 pm

    Hola, el codigo me cayo de pelos, y le agradesco autor.
    Pero tengo un problema de a la hora de ponerle un pagina para listar resultados de sql.Ya que no se que links darle, algo asi?:
    index.php?mod=busqueda?pagina=2
    ya que la pagina de listado me cambia la direccion por cada pagina


  52. el January 25th, 2007 a las 9:41 pm

    [...] Me baso en este artículo, con la diferencia de que yo voy a usar un archivo XML con el listado (y configuración) de las ‘páginas’ proporcionadas por la aplicación. Antes de empezar quiero exponer el por qué usare un archivo XML para la configuración en vez de las variables PHP. La primera vez que leí el artículo se me hizo raro, sobre todo porque apenas empezaba a conocer PHP (a estas alturas no sé mucho), depués de algunos intentos le empece a entender, pero el hecho de diseñar la presentación (hojas de estilo) separada de la lógica me hacía muy difícil encontra una manera ordenada de acomodar los datos de x página en una variable (mas bien arreglo) de PHP. A XML lo metí porque una vez que uno estudia acerca de este lenguaje se le hace fácil hacer diseñós de estructuras (no son los mejores porque a uno le falta experiencia) y a mí se me hizo mas intuitivo, aunque hay un poco de problemas porque tenemos que usar librerías para XML (yo usaré DOM), pero no hay problema si uno se anima un poco para esto. [...]

  53. xadap dijo,

    el February 14th, 2007 a las 12:20 am

    buenas,
    el tutorial es excelente! he hecho una plantilla para mi web y otra más siguiéndolo, pero…
    estamos remodelando la segunda web donde usé esta plantilla ( http://www.musicalliure.net ) y queremos liberar el código bajo términos CC o GPL, según decidamos. la pega es que la base es este código vuestro, que tiene copyright por omisión.
    podéis liberarlo en GPL o permitir modificaciones y distribución? me haríais un favor bastante, bastante, bastante grande.
    para cualquier duda enviadme un correo y lo discutimos.
    gracias!

  54. Mon dijo,

    el February 14th, 2007 a las 6:50 am

    Hola, gracias por toda la ayuda prestada. Mi pregunta es, que problema hay, después de crear 60 modulos con sus correspondientes variables en el conf.php, al meter la 61 variable referente a su código me dá error y no me muestra nada de la página, en algún sitio viene ún mínimo de variables ó mejor dicho se puede hacer algo para que el conf.php soporte más variables?, venga gracias por la ayuda y salu2

  55. Elcucas dijo,

    el March 16th, 2007 a las 2:41 pm

    Gran trabajo!
    Todos deberiamos hacer lo mismo con nuestros conocimientos.

    Enhorabuena

  56. Mauro dijo,

    el April 8th, 2007 a las 8:46 pm

    Tengo un gran problema.
    Por todos lados me salta “Use of undefined constant” o que las variables no están definidas .. pero antes de hacer la modularización funcionaba todo a la perfección.. a qué se debe?
    Tengo un archivo config.php para conectar a la base de datos, le hice un include en el index, qué mas tengo que hacer para poder trabajar con todas las variables como lo venía haciendo?
    Gracias por leer.

  57. Miguel Angl dijo,

    el April 19th, 2007 a las 9:16 pm

    Hay la manera de que el index.php muestre un diferente titulo para cada modulo.

  58. Rashid dijo,

    el May 15th, 2007 a las 6:25 pm

    Hola!!

    Me ha parecido este tutorial de lo mejor, ya que estoy implementando esto en una pagina de agricultura para una organizacion, aunque nunca habia utilizado este tipo de programacion modular….. bueno tuve un problema y es que cuando elaboro la pagina header y foot, las corro por si solas y me sale todo lo que tienen, pero al llamar el modulo es hay donde no me sale nada pero si lo llama pero las imagenes no cargan quisiera que me mostraras como hago para resolver esto sera que falta algo?

    Gracias!!

  59. Dalmiro dijo,

    el May 30th, 2007 a las 6:01 pm

    he estado trabajando con el include pero no me funciona, lo he curdado con diferntes extensiones (incluida la inc) pero nada. al momento de abrir la pagina no me muestra el contenido de la página que deseo insertar


  60. el June 4th, 2007 a las 12:16 am

    Excelente el tutorial, lo he usado para remodelar mi pagina, pero tengo una inquietud: cuando cargo un enlace con variables asi de este tipo:

    http://www.municipioscolombia.com/modular/index.php?mod=geg&are=civ&com=&temporal=Construcciones&orden=id&direcc=Desc

    la primera vez que dicho enlace es cargado, lo envia a la pagina principal y solo la segunda vez que es cargado lo envia a dicha direccion, puede probar copiando y pegando el enlace en el navegador.

    Le agradeceria si me puede explicar como puedo superar el problema, el cual solo sucede con el internet explorer pues con el navegador OPERA funciona perfectamente, la pagina abre al primer intento con todas las variables de filtrado.

    De antemano muchas gracias por su valiosa ayuda y denuevo felicitaciones, el tutorial es muy claro y facil de implementar, lo recomiendo a todo aquel que quiera rediseñar su web, es muy practico trabajar con modulos.


  61. el June 4th, 2007 a las 12:27 am

    El problema esta en este $_GET['mod']

    if (!empty($_GET['mod']))
    $modulo = $_GET['mod'];
    else
    $modulo = MODULO_DEFECTO;

    Como no es capturado el modulo la primera vez entonces carga el MODULO_DEFECTO.

    No es por nada pero llevo dos dias buscando la forma de solucionar el problema, y aunque he detectado donde ocurre el error, la verdad no he podido dar con la solucion, si me pueden ayudar les agradeceria muchisimo.

  62. Raul dijo,

    el July 3rd, 2007 a las 7:04 am

    Muy bueno el tutorial. Gracias

    Por el camino se me plantea una duda:

    Cómo podría conseguir cambiar el aspecto a la web desde links (usando varias hojas de estilo) ??

    por ejemplo: index.php?estilo=01, index.php?estilo=02, etc…

    Hasta ahora tengo esto:

    Una copia del layout original a la que he llamado estilo02.php y que llama a otra hoja de estilos diferente.

    En el archivo config.php he añadido esto:

    $conf['estilo02'] = array(
    ‘archivo’ => $conf['inicio']['archivo'],
    ‘layout’ => ‘estilo02.php’ );

    El link para cambiar el modelo quedaria asi: ?mod=estilo02

    Funciona… pero cuando pincho en otra sección me vuelve al estilo anterior

    Alguien me puede ayudar ??
    Gracias por adelantado

  63. kakekkekaka dijo,

    el July 5th, 2007 a las 11:54 am

    hola como le hago para agregarle 2 idiomas a esta web modular?

    la quiero tener en español eh ingles =)


  64. el August 8th, 2007 a las 9:41 pm

    Que tal compañeros mi pregunta es de que cuando estamos corriendo un sistema cualquiera ejemplo :
    php con postgres; Los web modulares sirven tambien para cuando algun usuario quiera entrar sin antes de escribir sus datos como usuario y contraseña ???
    Y que mande a pedir sus datos de usuario y contraseña …..

    Esta muy bueno los codigos pense que iba a morir sin ver estos grandes codigos ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
    Muchas gracias……………………..

  65. javier dijo,

    el October 15th, 2007 a las 2:03 am

    buenas a todos. les comento que soy nuevo en esto de php, y a mi entender el tutorial esta muy bueno, pero sepan disculpar mi ignorancia: alguien podria decirme que archivos debo modificar y como? para incluir mas modulos, x ejemplo me gustaria incluir un 2ª articulo como debo hacer. desde ya muchas gracias y espero ansioso sus respuestas.

  66. Manuel dijo,

    el October 27th, 2007 a las 9:41 am

    A ver si alguien es capaz de indicarme como se puede implementar que se indique el título de la página. Y que el Layout se encargue de utilizar ese valor dentro del tag .

    Le estoy dando muchas vueltas pero no encuentro una solución adecuada.

    Espero que me respondan, gracias

  67. emma dijo,

    el October 29th, 2007 a las 11:56 am

    no se nada necesito ayuda con la documentacion del codigo fuente del sitio web modular

  68. Dark_Fang dijo,

    el November 17th, 2007 a las 4:14 am

    joooooo eh venido 4 años mas tarde pero lo que importa es llegar..
    deciros que los fuentes que eh bajado de aqui no me han servido de mucho ya que no logre hacerla funcionar..
    pero si me ha servido de mucho.. ya se como armas una web modular sencilla y eso ya es un gran paso..
    estro tratando de desifrar como funciona este ejemplo que habeis publicado.. ya que me parece importante lo de los layout (lo unico que aun no puedo hacer) .. sin embargo les agradesco mucho ya que vuestro tutorial esta muy bonito =D

    Saludos!!

  69. robney dijo,

    el November 26th, 2007 a las 11:08 am

    mmmmmmmmmm alguien me puede ayudar eso del modulo nu entendi :S mi msn es robney@diosdelared.net


  70. el November 27th, 2007 a las 3:40 am

    [...] Web modular   [...]


  71. el December 15th, 2007 a las 10:57 am

    Ahora voy a la practica espero me salga todo ya les comentare , que bueno que ahora en castellano tambien estemos desarrollano felicitaciones,

    http://www.prevedis.com

  72. Fran dijo,

    el January 9th, 2008 a las 1:20 pm

    Cuando pongo los includes, y por ejemplo modifico solo includes/header.php tengo que actualizar con F5 todas las paginas para que me carge lo modificado en el header…
    Como resuelvo esto?

  73. jorgelina dijo,

    el January 30th, 2008 a las 1:23 am

    hola!

    el tutorial esta excelente y antes que nada felicitaciones.
    Queria saber si alguien me puede ayudar porque me gustaria implementar un menu en la parte izquiera de mi web usando web modulares, o sea lo que le queda pendiente a este tutorial que aqui transcrivo
    >>Podríamos incluir en el Layout por Defecto, un menú de opciones en la celda izquierda, de manera de facilitar la navegación del sitio.

  74. jaao_death dijo,

    el February 17th, 2008 a las 2:53 pm

    Consejo de seguridad:

    La verdad, este tutorial o como lo queráis llamar esta excelente, pero mi aporte más que para calificarlo es para dar un consejo de seguridad; probablemente muchos de los que utilicen esta documentación harán del archivo index, su centro de control, pero………… Y que pasaría si algun usuario descubriera los nombres de los archivos, por lo menos todos los que leyeron este tuto ya tienen idea de en que carpeta están. pero liarse con los nombres y eso es solo un problema asi que se puede agregar al inicio del index.php el siguiente codigo:

    index.php

    luego se le agrega al inicio de cada modulo algo como esto:

    home.php

  75. jaao_death dijo,

    el February 17th, 2008 a las 2:54 pm

    jooder mi comentario no acepta el codigo…..
    bueno que mas dá—

  76. Marcela dijo,

    el February 18th, 2008 a las 9:08 pm

    Necesito saber cómo envío variables de formularios con este enfoque modular, es decir cómo recupero la información en otra página del mismo módulo…
    Gracias…

  77. molle dijo,

    el March 30th, 2008 a las 2:04 am

    Buen tutorial

  78. armando dijo,

    el April 8th, 2008 a las 1:31 pm

    Hola a todos, excelente tutorial sobre modulación, pero tengo una duda con la seguridad, que pasaría si algun usuario descubriera los nombres de los archivos, ya que mucha información se ve en la barra de direcciones, además cuando le paso variables con valores con el método GET cualquiera puede recargar la página y pasarle el valor que desea a esa variable. ¿Cómo soluciono este problema de seguridad?

  79. Nobodye dijo,

    el April 16th, 2008 a las 1:06 am

    ZonaPHP » Creando Webs Modulares

    Bye.

  80. Nobodye dijo,

    el April 16th, 2008 a las 1:07 am

    Ok,

    Bye.

  81. Arths dijo,

    el April 29th, 2008 a las 7:59 pm

    Enhorabuena por el articulo, es EXACTAMENTE 100% lo que andaba buscando desde hace bastante tiempo, sería estupendo que pudieses ampliarlo con más y más cosas, de todos modos el empujón que necesitaba ya me lo has dado… Grácias!!!

  82. coreano dijo,

    el April 29th, 2008 a las 8:54 pm

    Gracias por tu artículo, ya que fue verlo y cambiar totalmente mi sitio web. (los puedes ver cuando quieras)

    Verás… Estoy implementando en mi sitio web la opción de que los usuarios puedan subir fotos. El servidor lo permite, está todo bien configurado y el código ya lo tenía funcionando antes de cambiar mis sitio web a webs modulares.
    La estructura que utilizo es estrictamente como tú lo comentas en tu artículo (fue mi guia) y desde uno de los módulos tengo un formulario de type=”file” el cual llama a otro modulo que se encargaría de operar con la foto y guardarla en el servidor, pues resulta que en el modulo que llama el formulario (que no es el mismo) le escribo un echo $_FILES['foto']['name']; y el valor que me muestra está vacío. Como es normal, a partir de aquí ya no puedo continuar aunque quiera.
    Ya lo he probado unas miles de veces y cambiado otras tantas y nada. Sólo me queda pensar que por el tema de las webs modulares y tal me está haciendo algo que se me pasa por alto.

    Repito, la estructura es como la que comentas en tu artículo (carpetas: modulo, includes, layouts, y en cada una de las carpetas el fichero .htaccess)

    De todas maneras, gracias por todo ya que me está encantando esto de las webs modulares y espera tu respuesta.

    Un saludo

  83. coreano dijo,

    el May 1st, 2008 a las 6:09 pm

    Ya lo solucioné.

    No era problema de las webs modulares, era de las funciones GD

    Gracias y un saludo

  84. Saitonrock dijo,

    el May 6th, 2008 a las 7:59 am

    un artículo de 10, me ha servido de mucha ayuda para construir mi sitio web, ya que lo que precísamente buscaba era una web modular, con diversos bloques. Gracias!!

  85. juan dijo,

    el June 12th, 2008 a las 4:09 am

    Hola, estoy dndo buenos paso con esto de las web modulares, pero tengo una duda:
    Tomando como base esta tutoriaal:
    si en la carpeta modulos creo otra llamda blog para poner wordpress, como hago lara hacer el link al index de wordpress??…

    pq antes para modulos q estan solo en la carpeta modulos pongo esto ?mod=contacto y me anda, pero si tengo otra carpeta dentro de modulos como lo llamo???…

  86. nharmando dijo,

    el June 13th, 2008 a las 7:55 pm

    Hola a todos, voy a implementar una web modular con ajax, pero tengo un problema resulta que ya tengo una pagina en la cual estoy trabajando con la librería xajax, esta me permite incluir ajax de forma más fácil en mis páginas. Ahora bien tengo esa pagina y funciona perfectamente pero a la hora de invocarla en el index mediante módulos tal y como se muestra en este artículo me da el siguiente warning:
    Cannot modify header information - header already sent by (output started at—.)
    He buscdo he probado muchas soluciones encontradas en el google pero nada. Espero me puedan ayudar o si me recomiendan otra librería para trabajar ajax en lugar de xajax

  87. Camilo dijo,

    el June 22nd, 2008 a las 11:49 pm

    La verdad esto esta muy bueno, apenas empiezo a escribir mis primeas lineas de php y este turorial me a servido, estuve buscano durante horas un error que tuve con unos includes y encontre esta paggina. Felicitaciones.”

Deja un comentario