Include PHP

Que tal amigo me llamo jose maría y quisiera preguntarte acerca de algo:
Estoy actualmente haciendo un sitio web para el grupo de mi universidad, no requiero (creo yo) bases de datos ni nada de eso, solo algunos formularios (enviar comentarios, etc etc) poner algunos documentos por parte de los maestros entre muchas cosas más, así como una gran cantidad de información para que los de mi grupo la aprovechen (acerca de mercadotecnia, recursos humanos, etc, tu sabes, cosas administrativas)
El caso esta en que yo hice un sitio basándome en plantillas (en dreamweaver) para que así al modificar algo pues obviamente se modifique todo al mismo tiempo y eso me facilita las cosas. Así igual empecé creando una plantilla básica donde tuviera un menu, y un logo en la parte superior y una barra inferior con alguna leyenda como "Todo esta protegido por los derechos de autor xxxxx", y también obviamente una tabla donde pudiera poner el contenido.
Hasta ahorita todo marcha perfecto, para ahorrarme mucho tiempo decidí hacer tres archivos (menu.php que es donde va el menu, top.php donde va el logo de arriba, y infcopy.php donde esta la barra inferior). Estos tres archivos los incluí en una plantilla para que así al querer modificar por ejemplo algo en el menu se modifique automáticamente sin modificar la plantilla. Los llame a los tres con la función include() de php, algo así <?php include ('menu.php'¿)?> Por ejemplo para el menu, el caso esta en que por ejemplo, el index se encuentra en la misma carpeta raíz de los 3 archivos, o sea todo va bien, pero cuando intento crear una página DENTRO DE UN SUBDIRECTORIO parece que la página quiere intentar llamar al archivo como si estuviera dentro de su misma carpeta ¿me di a entender?.
Y es que por ejemplo, yo tengo en la carpeta principal el index y los 3 archivos, después creo un subdirectorio llamado noticias donde hago la página principal de las noticias, todas las páginas están basadas en la plantilla que llama a los tres archivos, sin embargo cuando la empiezo a ver en el explorer (una vez ya subido el sitio) en las páginas que hice dentro de uno o más subdirectorios no me muestran el menu, ni el top ni la barra inferior, eso se debe a un problema de jerarquización ya que esta haciendo lo del index, buscando los tres archivos dentro de su misma carpeta, y el archivo que esta en mi carpeta noticias hace lo mismo, busca los archivos dentro de su misma carpeta cosa que no están ahí, si no una carpeta arriba.
Mi pregunta es ¿cómo le hago para que mi plantilla siempre es enlace a esos archivos? O sea que aunque haya 100 subdirectorios el archivo sea el mismo, ¿el de la carpeta raíz?
Lo intente haciendo referencia algo más o menos así <? Php include ('http://xxxxxx.com/menu.top')?> Sin embargo las imágenes que tenia no aparecieron y los links estaban mal (los paths).
¿Qué más puedo hacer? La verdad estoy desesperado y es que no quiero usar frames ya que el menu podría estar grande y eso de tener dos barras de desplazamiento en la página no se me hace muy chido que digamos, ¿qué puedo hacer?
Ojala y me puedas ayudar brother,.

1 respuesta

Respuesta
1
Vamos a ver ...
Lo único que tienes que hacer es poner en las páginas de dentro de los subdirectorios el include hacia una ruta relativa.
Por ejemplo <?php include ('../menu.php')?>
De ese modo abrirá el menu.php del directorio inmediatamente superior.
Lo que sí deberás tener en cuenta es que los enlaces de los menús los deberás poner con rutas absolutas (http://www.tusitio.com/pagina1.html), porque si no tendrás problemas.
Suerte y Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas