php incluye archivo que contiene marcado html y scripts js

Una pregunta muy simple:

  • "Headers.html" contiene un montón de menús desplegables controlados por scripts js. Los guiones están en la sección principal y los menús están en la sección del cuerpo.

  • "Content1.html", "Content2.html", etc. tienen su propio <head> y <body>, y además contienen una instrucción PHP include dentro de <body> que incluye los elementos de "Headers.html".

Este arreglo es ilegal ya que duplica <head> y <body> en el archivo resultante, ¿verdad? Sin embargo, si no defino <head> en "headers.html", termino con scripts js en el medio del cuerpo del archivo final. Pensé en colocar todos los scripts en un tercer archivo que se incluiría dentro de <head> del archivo de contenido, pero eso significa que los menús en "headers.html" no funcionarán de forma independiente, lo cual es una molestia. Entonces, ¿cuál es la mejor práctica para incluir archivos html que contienen scripts?

preguntado el 28 de julio de 12 a las 08:07

¿Por qué es una gran molestia incluir el archivo de scripts en cualquier lugar donde necesite usar los menús? -

No es una gran molestia, pero me preguntaba si es una "mejor práctica" agrupar scripts y marcado. -

1 Respuestas

Mantenga las secuencias de comandos y el marcado estrictamente en archivos separados e inclúyalos donde sea necesario.

Respondido 28 Jul 12, 08:07

Acordado. Sin embargo, hay efectos secundarios. Si el archivo incluido hace referencia a un archivo de script por ruta relativa, es posible que la ruta ya no sea válida en el archivo incluido. Aparte de usar rutas absolutas, no veo cómo esto puede resolverse lógicamente. - AAG

@aag Entonces estos archivos de inclusión se convierten en algo así como una biblioteca. Si realmente no puede definir algún tipo de diseño de sistema de archivos simple para sus archivos (¿por qué no?), intente resolverlo en el lado del servidor: use directivas de reescritura para simular algún tipo de diseño de sistema de archivos virtual que podría ser diferente para cada proyecto que use esos archivos en. - arkascha

Una estrategia posible puede ser tener (1) los archivos de inclusión, (2) los archivos de secuencias de comandos y (3) los archivos de contenido todos 1 nivel por debajo de la raíz. O, si hay más de 1 nivel, entonces todo 1 nivel hacia abajo en un directorio común. De esta forma, la referencia relativa al directorio Script desde el directorio Contenido será la misma que desde el directorio Incluir. ¿Mi pensamiento es correcto o distorsionado? - AAG

@aag No veo lo que debe estar en el 'directorio de archivos incluidos'. Creo que los archivos de script se incluirán en los archivos de contenido. ¿Hay otros archivos que no conozco? Dado que el diseño de su carpeta es estático, cada archivo que se incluirá tiene una posición estática. Así que puedes referenciarlo desde cualquier archivo de forma estática, relativa o absoluta. Esa referencia solo depende de la posición del archivo de inclusión, en caso de una referencia relativa. Todo lo que tiene que cuidar es no forzar la inclusión de archivos... Supongo que tendría que ver un ejemplo de sus archivos para entender el problema... - arkascha

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.