Creando Webs Modulares
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 este artículo aprenderemos una de estas maneras.
Lo habitual
Cuando aprendemos nuestros primeros pasos con PHP, cualquier tutorial o manual que leemos, nos enseña y vanagloria las bondades de poder incluir el código PHP directamente entre el HTML. Entonces, es muy habitual ver ejemplos del tipo:
-
<html>
-
<head><title>Ejemplo de PHP embebido</title></head>
-
<body>
-
<?php
-
echo "Este texto se hace con PHP";
-
?>
-
</body>
-
</html>
Y como la mente y el alma de un principiante de cualquier tema, está preparada para aprender todo lo que pueda, en el menor tiempo que pueda, toma este tipo de ejemplos como "verdades universales" y comenzamos a ver código PHP embebido entre el HTML por TODOS lados. Pero no hay que preocuparse, esto no es necesariamente malo, y todos lo hicimos en menor o mayor medida al comenzar. Es un paso necesario que hay que aprender a superar.
Luego de un tiempo, y después de haber leido un poco más, aprendemos que todas las partes comunes de código que son repetitivas, pueden residir en archivos separados y ser "Incluidas" en nuestro código con tan solo el uso de una función:
-
<html>
-
<head><title>Ejemplo de PHP embebido</title></head>
-
<body>
-
<? include('includes/header.php'); ?>
-
<table>
-
<tr>
-
<td width="120"><? include('includes/menu.php'); ?></td>
-
<td>Aqui va el contenido del sitio web propiamente dicho. Recordar que es terriblemente MALO y PERJUDICIAL para la salud de su sitio, utilizar archivos externos con extensión ".inc"</td>
-
</tr>
-
<? include('includes/footer.php'); ?>
-
</table>
-
</body>
-
</html>
Entonces, ese es el momento en que include() se convierte en nuestro mejor amigo y descubrimos, fascinados, como podemos lograr una verdadera mejora en el mantenimiento de nuestros sitios, al tener que modificar 1 solo archivo y que este cambio, se vea reflejado en TODAS las páginas que incluyan ese archivo. Hemos, señoras y señores, alcanzado el Nirvana.
Pero, lamento decepcionarlos, ningún estado de felicidad suprema es permanente. Luego de un tiempo, y a medida que seguimos utilizando este método, de repente nos vamos dando cuenta que algo simplemente no cuadra. Si bien el anterior método del include() nos salvó en su debido momento, nos vamos dando cuenta que para crear una nueva página, es necesario repetir muchas veces los include() que llaman a las partes comunes de nuestro sitio. Esto sin contar que si, por arte de magia o capricho de un jefe/cliente, la cabecera de nuestro sitio pasa de ser header.php a cabecera.php, deberiamos modificar uno a uno todos los archivos que hagan un llamado a "header.php" y hacer el reemplazo.
Es en este punto, donde cientos de programadores, todos los años se hacen la misma pregunta: ¿No habrá una manera mejor de hacer esto?

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
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
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!!
el January 2nd, 2006 a las 12:49 pm
Esta excelente. Con eso digo todo
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.
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.
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.
el March 7th, 2006 a las 1:34 pm
Ya resolvi el problema que tenia, ahortengo mejor seguridad…. y con esto todo esta excelente
el March 9th, 2006 a las 10:26 pm
Xanadu, podrias indicar como hiciste lo de seguridad del alta de usuarios?
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
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.
el March 13th, 2006 a las 2:41 pm
Keldrox, muchas gracias por el comentario. Ya fue corregido.
Saludos !
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
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?
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 *_*
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 =$
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!!!!!!!
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
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
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
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
el May 23rd, 2006 a las 9:04 pm
Hola. has salvado mi vida con este articulo jejeje.
Saludos.
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.
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
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
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
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
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
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.
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
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
el July 26th, 2006 a las 4:57 pm
Digamos que quiero colocar unos includes, como podria hacerlo para que funcione con estos templates?
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!
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
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.
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.:)
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.
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??????
el September 6th, 2006 a las 7:01 pm
¿Linda, como lo solucionaste? A mi me pasa lo mismo.
el September 7th, 2006 a las 3:41 am
estoy recopilando información de PHP y esto es muy bueno.
el September 21st, 2006 a las 1:49 pm
Hola:
Este artículo me ayudó a comprender un poco más PHP, gracias.
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..
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
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!
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. [...]
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.
el December 5th, 2006 a las 2:23 pm
Hola esta piola este sitio seria mas piola si agregan modulos de sistemas desarrolados
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/
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…
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.
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
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. [...]
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!
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
el March 16th, 2007 a las 2:41 pm
Gran trabajo!
Todos deberiamos hacer lo mismo con nuestros conocimientos.
Enhorabuena
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.
el April 19th, 2007 a las 9:16 pm
Hay la manera de que el index.php muestre un diferente titulo para cada modulo.
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!!
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
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.
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.
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
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 =)
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……………………..
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.
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
el October 29th, 2007 a las 11:56 am
no se nada necesito ayuda con la documentacion del codigo fuente del sitio web modular
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!!
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
el November 27th, 2007 a las 3:40 am
[...] Web modular [...]
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
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?
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.
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
el February 17th, 2008 a las 2:54 pm
jooder mi comentario no acepta el codigo…..
bueno que mas dá—
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…
el March 30th, 2008 a las 2:04 am
Buen tutorial
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?
el April 16th, 2008 a las 1:06 am
ZonaPHP » Creando Webs Modulares
Bye.
el April 16th, 2008 a las 1:07 am
Ok,
Bye.
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!!!
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
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
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!!
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???…
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
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.”
el September 8th, 2008 a las 7:33 pm
Excelente Artículo. Muchas Gracias, me funciono a la perfección, (aunque por problemas de configuración de mi servidor hubo que cambiar algunos tags de <?… a <?php )… pero no fue complicado.
Me surge la siguiente pregunta, si yo creara un modulo que contiene varias paginas y algunos scripts de javascript, podrias darme alguna idea de como podria quedar organizado el sitio ?. Es decir, si utilizo Javascript No obstrusivo, debo crear una carpeta “js”… y acceder desde los modulos a todos estos script ?, ó si por el contrario debo crear un archivo “*.js” dentro del directorio modulos y desde cada uno de los modulos acceder a estos archivos ?.
Gracias.
el September 9th, 2008 a las 1:29 am
Ya me respondí yo mismo… lo mejor es dejar los directorios con los scripts ´js´ y los estilos ´css´ a nivel de la raíz del sitio, para que así queden accesibles al archivo index.php, y, al estar accesibles al archivo index.php… estarán disponibles para todos los modulos que se incluyan en el sitio….
Pero ahora me asalta otra duda… Como puedo incluir los scripts de Javascript para que segun el modulo que vaya cargando estos se vayan incluyendo como scripts externos y haciéndolo de forma no obstrusiva (sino unicamente mediante addEventListener) ?
el January 2nd, 2009 a las 5:01 pm
Muy buen artículo. Recién estoy comenzando con PHP y me pareció bastante útil tu post ya que andaba buscando consideraciones de diseño, lo cual es dificil de encontrar en un tutorial de php. Saludos.