2010-02-07 28 views
5

Así que tengo un sitio web y estoy usando un menú básico ubicado en la esquina superior derecha de la pantalla. Es enlaces son los siguientes: el tiempo¿Tiene un solo menú en varias páginas?

| Home | Blog | Results | Pictures | Our Location | 

de forma al tiempo que necesito para añadir un nuevo enlace al menú o cambiar el lugar en uno de los enlaces apunta. Esto significa que en cada página que existe el menú, debo cambiar manualmente el enlace. Seguramente hay alguna manera de tener un menú maestro que se acaba de poner en cada página.

¿O estoy soñando?

+0

Solución disponible aquí: http://stackoverflow.com/questions/39447411/how-to-load-nav-menu-from-an-external-file-no-wamp-all-code-must- be-browser – Ampere

Respuesta

3

Coloque el menú en un archivo separado e inclúyalo en el lado del servidor, ya sea utilizando un lenguaje de scripting completo como PHP (una línea) o usando SSI.

+0

No sé php. ¿Podría darnos un ejemplo de cómo usar SSI? –

+1

Hay un ejemplo de SSI en el artículo vinculado (') y en PHP sería:' '. –

+0

S .: Así que descubrí que Yahoo Small Business no es compatible con '.shtml'. ¿Alguna otra opción? –

3

Existen varias formas de hacerlo. Depende de lo que tenga acceso en el servidor. Posiblemente el mecanismo más simple es server-side includes. Solo tendría un archivo que contiene el menú e incluirlo en cada página.

También puede hacer esto con cada lenguaje de programación de forma más o menos elegante.

EDITAR: El SSI es bastante simple. Usted sólo puede hacer un archivo /header.html, a continuación, hacer:

<!--#include virtual="/header.html" --> 

en el lugar apropiado.

0

Haga que un programa del lado del servidor determine qué menús y ubicaciones de los enlaces deben estar allí. Luego use ajax para sondear periódicamente el script del lado del servidor para obtener el contenido del menú en el momento actual.

que sería fácil tener que enviar un conjunto de datos XML espalda como:

<menu> 
    <link name="Home" href="destinationhome.html"/> 
... 
    <link name="Pictures" href="....html"/> 
</menu> 

Entonces construir sus enlaces de esos datos.

1

uso del PHP incluir en todas sus páginas

<?php include 'includes/menu.php'; ?> 

y tienen un menu.php separado dentro de una carpeta llamada 'incluye'. tendrá que guardar todas las páginas oyur como .php

puede hacer que el pie de página como un incluyen también

0

Puede generar páginas de las plantillas antes de subirlos: Ver Template Toolkit.

1

Creo que esta es la manera más fácil de hacerlo sin un lenguaje del lado del servidor. Use una biblioteca de JavaScript como W3Data. Todo lo que necesita hacer es agregar el atributo w3-include-html a su div. ¡Hecho!

Si su menú está en un archivo llamado menú.html, haría algo como esto.

<div w3-include-html="menu.html"></div> 
+0

He experimentado con varios enfoques y esto funciona a la perfección. La biblioteca es w3.js de las escuelas W3 y su uso está bien documentado en el sitio de las escuelas W3. –

Cuestiones relacionadas