Foros del Web » Creando para Internet » HTML »

No reescribir el mismo menu

Estas en el tema de No reescribir el mismo menu en el foro de HTML en Foros del Web. Hola, supongo que habrá algún hilo abierto de lo que me interesa, pero no consigo dar con ello. El tema es este, un sitio tiene ...
  #1 (permalink)  
Antiguo 17/08/2013, 14:33
 
Fecha de Ingreso: febrero-2004
Mensajes: 134
Antigüedad: 20 años, 2 meses
Puntos: 0
No reescribir el mismo menu

Hola, supongo que habrá algún hilo abierto de lo que me interesa, pero no consigo dar con ello.
El tema es este, un sitio tiene varias paginas con el mismo menú, como puedo evitar escribir el mismo menú en cada pagina, porque lo de copiar y pegar me parece algo retrasado, y además si en un momento tienes que corregir o añadir alguna cosa al menú, pues hay que corregir pagina por pagina, en una palabra, se trata de que en cada archivo html, llame de alguna manera a un archivo que contenga el menú único así los cambios solo tendría que hacerlos en un único archivo, espero haberme explicado
gracias
__________________
Saludos
acaser
www.turiscan.com
  #2 (permalink)  
Antiguo 17/08/2013, 14:38
 
Fecha de Ingreso: julio-2013
Mensajes: 158
Antigüedad: 10 años, 9 meses
Puntos: 6
Respuesta: No reescribir el mismo menu

¿Bajo que lenguaje estas creando tu pagina?

Si utlizas php podrias hacerlo con un include pones tu menu en un archivo por ejemplo llamado menu.php y a todas las paginas donde deceas poner el menu haces la llamada al archivo <?php include("menu.php//La ruta del archivo donde tienes el menu") ?>

¡Espero te aiga ayudado!
  #3 (permalink)  
Antiguo 17/08/2013, 17:39
 
Fecha de Ingreso: febrero-2004
Mensajes: 134
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: No reescribir el mismo menu

Hola Cesa gracias por responderme.
Esta en lenguaje HTML
__________________
Saludos
acaser
www.turiscan.com
  #4 (permalink)  
Antiguo 17/08/2013, 23:12
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: No reescribir el mismo menu

Activa SSI en un .htaccess:

Código Apache:
Ver original
  1. Options +Includes

Y luego haces el include donde necesites:

Código HTML:
Ver original
  1. <!--#include virtual="/menu.html" -->

http://httpd.apache.org/docs/2.2/howto/ssi.html
  #5 (permalink)  
Antiguo 18/08/2013, 07:33
 
Fecha de Ingreso: febrero-2004
Mensajes: 134
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: No reescribir el mismo menu

Muchas gracias Pzin he estado observando el enlace que pones a SSI como viene en ingles pues la traducción me ha vuelto loco y me ha confundido mas yo te agradecería me explicases como si de un parvulito se tratase, veras, te explico lo que hice,
Cree un archivo donde solo esta el menú sin etiquetas html ni head ni boby solo el menú con sus correspondiente enlaces y que nos serviria de modelo para todos los archivos, a modo de ejemplo así empieza el archivo menú :
Código HTML:
Ver original
  1. <ul class="menu">
  2.     <li><a href="index.html">Home</a></li>
  3.     <li><a href="#">Inicio</a>
  4.         <ul>
  5.    
  6.            <li><a href="introducion.html">Introducción</a></li>
  7.            <li><a href="prologo.html">Prologo</a></li>
  8.            <li><a href="epilogo.html">Epilogo</a></li>
  9.            <li><a href="profesor.html">Profesor Alfredo</a></li>
  10.            
  11.         </ul>
etc
etc
Después estan los demás archivos del sitio por ejemplo : “introducion.html” “prologo.html” “epilogo.html” etc etc estos archivos ya contienen las etiquetas html ,head , boby a mode de ejemplo :

<!doctype html>

Código HTML:
Ver original
  1. <meta charset="UTF-8">
  2. <title>Mi Sitio</title>
  3. <link rel="stylesheet" type="text/css" href="portada.css" >
  4.  
  5. </head>
  6.  
  7.  
  8. </body>
  9. </html>
Según tu repuesta:
En el archivo .htccess solo hay que poner esto ? Options +Includes
¿No falta nada?
Y en los demás archivos donde quiero incluir el menú solo esto entre las etiquetas <body> y </body> <!--#include virtual="/menu.html" -->
He querido ser tan preciso que no se si te he liado mas,
Seria mucho pedir que me pusieses un ejemplo?
Si te falta algún dato dímelo.
Gracias y saludos
__________________
Saludos
acaser
www.turiscan.com

Última edición por pzin; 21/08/2013 a las 06:19 Razón: formato código
  #6 (permalink)  
Antiguo 18/08/2013, 16:09
 
Fecha de Ingreso: julio-2013
Mensajes: 158
Antigüedad: 10 años, 9 meses
Puntos: 6
Respuesta: No reescribir el mismo menu

Siguiendo la respuesta de pzin

Cita:
<!--#include virtual="/menu.html" -->
basicamente lo que hace es llamar al archivo este lo pondras donde quieras poner tu menu por ejemplo entre un div.

Ejemplo:

Cita:
<div class="ConetenedorMenu"><!--#include virtual="/menu.html" --></div>
Cita:
<!--#include virtual="/menu.html" -->
La etiqueta la pones donde quieras poner el menu.

Saludos recuerda que en /menu.html deveras poner el nombre que le pusiste al archivo donde guardas el menu.

Saludos!
  #7 (permalink)  
Antiguo 18/08/2013, 17:19
 
Fecha de Ingreso: febrero-2004
Mensajes: 134
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: No reescribir el mismo menu

Gracias Cesa por tu intento vereis os mando tres fotos cacturadas a las pruebas que hice en una esta el archivo htaccess ¿esta bien asi?
la segunda digamos es el menu (solo es parte) que quiero poner en todas las paginas.
la tercera seria un nuevo archivo html donde se deberia incorporar el menu ;
Entre <body> y </body> vereis que puse lo que me mando Pzin supongo que algo estara mal por mi parte hecho , porque no me funciona.
Gracias




__________________
Saludos
acaser
www.turiscan.com
  #8 (permalink)  
Antiguo 19/08/2013, 07:52
 
Fecha de Ingreso: febrero-2004
Mensajes: 134
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: No reescribir el mismo menu

PZIN y CESA Por favor no considereis esto que os digo como un capricho es una necesidad antes de que me ponga a corregir tontamente las paginas
muchas gracias
__________________
Saludos
acaser
www.turiscan.com
  #9 (permalink)  
Antiguo 20/08/2013, 12:38
 
Fecha de Ingreso: febrero-2004
Mensajes: 134
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: No reescribir el mismo menu

Hola, de nuevo
He conseguido este código y he logrado que se vea el menú en cada archivo sin tener que rescribirle y con ello consigo evitar corregir pagina por pagina , en algún cambio que pueda hacer al menú, hasta ahí correcto, el archivo "menu" esta en la raiz, el problema me viene cuando quiero acceder a un archivo que este en una subcarpeta, y que también debería verse el mismo menú, y el menú no sale, He probado a cambiar en el archivo de la subcarpeta la llamada del menú.
(menu en la raiz)
Código HTML:
Ver original
  1. $(function(){
  2. // menu.html
  3. $("#incluirPagina").load("menu.html"); });
  4. </script>
  5. </head>
  6. <body>
  7. <div id="incluirPagina"></div>

por este otro por el motivo de que esta en otro nivel

(menu en la subcarpeta)

Código HTML:
Ver original
  1. $(function(){
  2. [COLOR="MediumTurquoise"]// ../menu.html[/COLOR]
  3. $("#incluirPagina").load("[COLOR="MediumTurquoise"]../menu.html"[/COLOR]); });
  4. </script>
  5. </head>
  6. <body>
  7. <div id="incluirPagina"></div>

es decir, le añadí ../ por delante de menú pero no me sale tampoco
He probado a poner el primer codigo es decir , el archivo llamado menu en la subcarpeta y tampoco
Podríais decirme donde esta la solución ¿
Gracias
__________________
Saludos
acaser
www.turiscan.com

Última edición por pzin; 21/08/2013 a las 06:19 Razón: formato código
  #10 (permalink)  
Antiguo 20/08/2013, 13:13
Avatar de eduardobrutaldeath  
Fecha de Ingreso: agosto-2013
Ubicación: América
Mensajes: 306
Antigüedad: 10 años, 8 meses
Puntos: 3
Respuesta: No reescribir el mismo menu

Cita:
Iniciado por acaser Ver Mensaje
Hola, de nuevo
He conseguido este código y he logrado que se vea el menú en cada archivo sin tener que rescribirle y con ello consigo evitar corregir pagina por pagina , en algún cambio que pueda hacer al menú, hasta ahí correcto, el archivo "menu" esta en la raiz, el problema me viene cuando quiero acceder a un archivo que este en una subcarpeta, y que también debería verse el mismo menú, y el menú no sale, He probado a cambiar en el archivo de la subcarpeta la llamada del menú.
(menu en la raiz)
$(function(){
// menu.html
$("#incluirPagina").load("menu.html"); });
</script>
</head>
<body>
<div id="incluirPagina"></div>

por este otro por el motivo de que esta en otro nivel

(menu en la subcarpeta)

$(function(){
// ../menu.html
$("#incluirPagina").load("../menu.html"); });
</script>
</head>
<body>
<div id="incluirPagina"></div>

es decir, le añadí ../ por delante de menú pero no me sale tampoco
He probado a poner el primer codigo es decir , el archivo llamado menu en la subcarpeta y tampoco
Podríais decirme donde esta la solución ¿
Gracias

Hola,
yo creo que es mejor que lo hagas con PHP,
con los INCLUDES es más fácil...
¿Tienes conocimiento básico de PHP?
  #11 (permalink)  
Antiguo 20/08/2013, 13:22
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: No reescribir el mismo menu

Volviendo a las SSI, trate de incluir en el .htaccess:

Código Apache:
Ver original
  1. XBitHack on

Así se supone que se activa SSI en todos los archivos. No sé si por defecto sólo lo hace en archivos .shtml.
  #12 (permalink)  
Antiguo 20/08/2013, 13:22
 
Fecha de Ingreso: julio-2013
Mensajes: 158
Antigüedad: 10 años, 9 meses
Puntos: 6
Podrias ser mas especifico haber segun yo, a lo que entendi el archivo menu.html lo tienes en la raiz osea que no esta dentro de ninguna carpeta, y que tienes otro archivo en una carpeta y tambien quieres que se vea el menu en ese archivo ahora mi pregunta es esta ¿ese archivo que dices que esta en una carpeta solo esta dentro de una carpeta o son varias antes de llegar a el?

Si el archivo menu.html lo guardas en una carpeta por ejemplo la carpeta se llama menu entonces para llamar al menu tendras que pones en vez de ../ seria menu/menu.html asi

Cita:
<script type="text/javascript">
$(function(){
// menu.html
$("#incluirPagina").load("menu/menu.html"); });
</script>
Tendras que poner el nombre de la carpeta donde guardes el menu antes de menu.html

En cambio si el archivo donde llamaras la funcion esta en una carpeta entonces si se utiliza ../ (../ sale una carpeta)

Cita:
<script type="text/javascript">
$(function(){
// menu.html
$("#incluirPagina").load("../menu.html"); });
</script>

Última edición por pzin; 20/08/2013 a las 13:33
  #13 (permalink)  
Antiguo 20/08/2013, 15:06
 
Fecha de Ingreso: febrero-2004
Mensajes: 134
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: No reescribir el mismo menu

Lo siento cesa_r si no me explique bien, vamos a ver basándome en este código o función como quieras llamarlo y que funciona perfectamente en todos los archivos que están en la raíz. A ver si me explico mejor:
El menú es despegable que nos enlazara a archivos que hay en carpetas

En la raíz están archivos y carpetas, entre los archivos que están en la raíz, esta el archivo llamado menú y en las carpetas hay mas archivos
Los archivos de la raíz se encabezan con lo siguiente y cargan el menú correctamente

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>Mi Sitio</title>
  6. <script src="http://code.jquery.com/jquery-latest.js"></script>
  7. <script type="text/javascript">
  8.  $(function(){
  9.  // menu.html
  10.  $("#incluirPagina").load("menu.html"); });
  11.  </script>
  12.  </head>
  13.  
  14.  <body>
  15.  <div id="incluirPagina"></div>
  16.  prueba 1
  17.  </body>
  18.  </html>
Hasta aquí correcto, ahora bien, ese menú cuando se despliega son enlaces a archivos que están en carpetas, y que también por supuesto tienen el correspondiente encabezado, y son precisamente estos archivos los que no cargan el menú.
En una palabra, algo tengo que corregir en el código que pongo en los encabezados de los archivos de las carpetas

Esto para Pzin lo he intentado pero algo debo hacer mal, pensad que es para HTML
Esto para Eduardobrutal ni idea de php,

Perdonad el quebradero de cabeza y gracias
__________________
Saludos
acaser
www.turiscan.com

Última edición por pzin; 21/08/2013 a las 06:18 Razón: formato código
  #14 (permalink)  
Antiguo 20/08/2013, 16:10
 
Fecha de Ingreso: julio-2013
Mensajes: 158
Antigüedad: 10 años, 9 meses
Puntos: 6
Respuesta: No reescribir el mismo menu

ya! tienes unos archivos principales dentro de una carpeta y en estos no te trae el menu la unica solucion que se me ocurre es ../ pero dices que no te funciona, el codigo con el que llamas al archivo menu.html es jquery una libreria en javascript por lo tanto en todos los archivos donde pongas el codigo debe llevar <script src="http://code.jquery.com/jquery-latest.js"></script> asegurate que en esos archivos que estan en la subcarpetas tengan <script src="http://code.jquery.com/jquery-latest.js"></script> y pon ../ .

Si en los archivos en las subcarpetas tienes <script src="http://code.jquery.com/jquery-latest.js"></script> y aun asi no te funciona. dado que no tenemos datos de que servidor usas intenta poner <! - #include virtual = "masterfile.html" -> donde quieras poner tu menu sin moverle al .htaccess.

y luego me dices que paso.
  #15 (permalink)  
Antiguo 21/08/2013, 05:47
 
Fecha de Ingreso: febrero-2004
Mensajes: 134
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: No reescribir el mismo menu

Ante todo, daros las gracias por vuestro interés en ayudarme, deciros que esta todo solucionado y que la web funciona perfectamente tal como quería cargando los menús correctamente en todos los archivos.
¿Cuál era el problema? Pues sencillamente que trataba al menú por igual en todos los archivos, me explico:
El menú es para todos los archivos igual la diferencia que hay es que el menú de la raíz por ejemplo es
Código HTML:
Ver original
  1. <li><a href="introducion.php">Introducción</a></li>
  2.  <li><a href="prologo.php">Prologo</a></li>
  3. <li><a href="
  4. <li><a href="

pero el menú para los archivos que hay en las carpetas es :

Código:
<li><a href="../introducción">Introducción</a></li>
 <li><a href=../"prologo.php">Prologo</a></li>
<li><a href="../<li><a href="
<li><a href="../ 
y dependiendo que carpeta sea se le pone ../ ó ../../

Solo un problema quizá poco ortodoxo, es el que tengo que poner el menú correspondiente cada uno en su carpeta, es decir si tengo 7 carpetas en el mismo nivel tengo que tener 7 menús cada uno en su carpeta, he intentado abrir un directorio llamado menús y ahí poner los menús de los diferentes niveles llamados menu1 menu2 y menú 3 con lo que me ahorraría poner en cada carpeta los menús pero no responden,
No sé si el javascritpt eso no lo soporta el quid del problema a mi manera de ver esta en esta línea

Código Javascript:
Ver original
  1. $("#incluirPagina").load("menu.html."); });

he renombrado “menu.html” á “menus/menu.html” y no funciona si se os ocurre algo me lo decis sino pues quedara como esta ahora poco ortodoxo pero funcionando.
Gracias
P/D mi servidor es and & and tiene apache
__________________
Saludos
acaser
www.turiscan.com

Última edición por pzin; 21/08/2013 a las 06:18
  #16 (permalink)  
Antiguo 21/08/2013, 06:17
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: No reescribir el mismo menu

Usar includes mediante JavaScript es mala idea. Más aún siendo el menú de la página. Google y otros buscadores no tendrán acceso a ese menú, por lo que tu web difícilmente se indexará bien.

Haciéndolo mediante SSI o PHP no tendrías este problema.

Cuando publiques código, usa highlight para envolver el código.
  #17 (permalink)  
Antiguo 21/08/2013, 07:32
 
Fecha de Ingreso: febrero-2004
Mensajes: 134
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: No reescribir el mismo menu

Pzin el problema que tengo es que no tengo ni idea de php si tu crees que podría añadir al sitio que esta en html algo de PHP o SSI me lo tendrías que explicar muy muy bien y eso quizá sea abusar de ti y de tu tiempo por supuesto que te tendría en mis oraciones si lo haces jejejej.
Ahora mientras te lo piensas una pregunta,
Dices que Google no me lo indexeara bien ni me lo reconocerá, veamos yo hace una semana di de alta en Google la pagina si pongo el nombre en Google allí me aparece no se si es a esto a lo que te refieres, también es cierto que fue antes del tema este de los menús.
Ahora otra pregunta, si yo al index le quito los includes mediante JavaScript ¿se podrá indexear bien?
Y por ultimo que quiere decir esto que me pones
Cuando publiques código, usa highlight para envolver el código.
saludos
__________________
Saludos
acaser
www.turiscan.com
  #18 (permalink)  
Antiguo 21/08/2013, 12:24
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: No reescribir el mismo menu

Conoces Dreamweaver? pues tiene una solución llamada Templates o plantillas de dreamweaver, y regiones editables... o no te quedará de otra que usar iFrames
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #19 (permalink)  
Antiguo 21/08/2013, 13:54
 
Fecha de Ingreso: febrero-2004
Mensajes: 134
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: No reescribir el mismo menu

Hola Loncho tengo el programa Dreamweaver desde hace 2 semanas y todavia no se como va el tema podrias explicarte un poco mejor con lo de la plantilla ?
Gracias
__________________
Saludos
acaser
www.turiscan.com
  #20 (permalink)  
Antiguo 21/08/2013, 14:22
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: No reescribir el mismo menu

Tal vez te ayude este concepto... Para que la plantilla sea válida, deberás configurar un sitio SITIO/Nuevo Sitio

http://www.youtube.com/watch?v=LumX3YgEvmo
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #21 (permalink)  
Antiguo 21/08/2013, 18:30
 
Fecha de Ingreso: julio-2013
Mensajes: 158
Antigüedad: 10 años, 9 meses
Puntos: 6
Respuesta: No reescribir el mismo menu

alo que pude ver no sabes nada sobre rutas tratarea de darte un ejemplo si por ejemplo tienes el menu en una carpeta llamada ammm.. menu todos archivos que no esten en carpetas para llamar a este menu bastara poner menu/menu.html encambio si estos archivos donde quieres llamar al menu estan en una carpeta llamada por ejemplo archivos tendras que poner ../menu/menu.html si los archivos donde quieres llamar al menu estan en una carpeta llamada archivos, pero asu vez estan en una carpeta llamada subarchivos por ejemplo tendras que poner ../../menu/menu.html (../basicamente esto significa que sales una carpeta si tienes el archivo donde quieres llamar al menu.html en 6 carpetas antes de llegar a el pondras 6 veces ../) otro ejemplo si tu no tienes el archivo menu.html en ninguna carpeta y los archivos donde lo quieres llamar tampoco bastara poner menu.html, pero si los archivos donde quieres llamar al menu lo tienes en una carpeta por ejemplo llamada archivos tendras que poner ../menu.html, y asi sucesibamente.

Etiquetas: reescribir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:29.