Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Mensaje iniciado por: hackmastter en 24 Octubre 2015, 07:06 AM

Título: [Resuelto] Como hacer un menu en un archivo para repetirlo "No Iframe"
Publicado por: hackmastter en 24 Octubre 2015, 07:06 AM
Hola...

Si tengo un menú en un archivo como hago para llamar ese menú al resto de mis .html y así, cuando vaya a cambiar algo en el menú, solo tengo que editar un solo archivo y no cientos de ellos?

Creo que se hace con Java Script. Sé que se puede con iframe pero no me gusta esta idea.
¿O un iframe es mejor que Java Script?
Título: Re: como hacer un menu en un archivo para repetirlo en todas los .html "No Iframe"
Publicado por: engel lex en 24 Octubre 2015, 16:01 PM
Iframe es la opción simple, jscript es mas complicado, sin embargo la solución real a esto se llama php
Título: Re: como hacer un menu en un archivo para repetirlo en todas los .html "No Iframe"
Publicado por: Pablo Videla en 25 Octubre 2015, 02:55 AM
La función load te puede servir, pero debes usar jQuery.

http://api.jquery.com/load/

Título: Re: como hacer un menu en un archivo para repetirlo en todas los .html "No Iframe"
Publicado por: xiruko en 25 Octubre 2015, 03:42 AM
Tal y como dijo engel lex, la solución más fácil es usar PHP. De hecho, es de lo más básico de PHP, deberías aprenderlo si vas a hacer desarrollo web. Por ejemplo:

menu.php
Código (php) [Seleccionar]
echo "Menu";

pagina1.php
Código (php) [Seleccionar]
require 'menu.php';
echo "Pagina 1!";


pagina2.php
Código (php) [Seleccionar]
require 'menu.php';
echo "Pagina 2!";


Si ejecutas pagina1.php desde el navegador la salida sería:
Menu
Pagina 1!


Saludos!
Título: Re: como hacer un menu en un archivo para repetirlo en todas los .html "No Iframe"
Publicado por: MinusFour en 25 Octubre 2015, 14:55 PM
Puedes usar un templating system para esto, client-side o server-side. De ambos tienes varias opciones.

Los que yo he usado son Twig y Jade. Twig esta escrito en PHP creo, por lo que no puedes usarlo client-side pero Jade está hecho en JS, por lo que puedes usarlo en el navegador (aunque no es el más rápido). Tambien hay otras opciones en JS: Mustache, Handlebars, Marko, jQuery templating y creo que tambien lodash tenia uno, pero ya no recuerdo.

Tambien puedes usar los includes de PHP como templating system.
Título: Re: como hacer un menu en un archivo para repetirlo en todas los .html "No Iframe"
Publicado por: hackmastter en 27 Octubre 2015, 01:02 AM
CitarTal y como dijo engel lex, la solución más fácil es usar PHP. De hecho, es de lo más básico de PHP

Si, se que es el mas simple. Pero si quiero llamar a una variable con Include o Require solo lo puedo hacer en archivos .php o es posible hacerlo en un .html.??

Aunque si es posible imagino que solo lo puedo ejecutar desde un servidor local como AppServ (Apache).

Lo que no quisiera es cambiar los .html a .php, por eso sugerí javascript, aún sabiendo que este es más lento.

CitarLa función load te puede servir, pero debes usar jQuery.
http://api.jquery.com/load/ (http://api.jquery.com/load/)
Muchas Gracias Pablo Videla pero no se usar javascript y lo intenté como puede pero no lo logre hacer.  :-\ Será que podrias hacerme los archivos que funcionen con un ejemplo sencillo... Sé que esto es molesto para muchos pero si no logro la solución no podría sevir avanzando con mi web.
Título: Re: como hacer un menu en un archivo para repetirlo en todas los .html "No Iframe"
Publicado por: Pablo Videla en 27 Octubre 2015, 01:44 AM
Cita de: hackmastter en 27 Octubre 2015, 01:02 AM
Si, se que es el mas simple. Pero si quiero llamar a una variable con Include o Require solo lo puedo hacer en archivos .php o es posible hacerlo en un .html.??

Aunque si es posible imagino que solo lo puedo ejecutar desde un servidor local como AppServ (Apache).

Lo que no quisiera es cambiar los .html a .php, por eso sugerí javascript, aún sabiendo que este es más lento.

La funcion load que te puse mas arriba te sirve.
Título: Re: como hacer un menu en un archivo para repetirlo en todas los .html "No Iframe"
Publicado por: hackmastter en 27 Octubre 2015, 02:51 AM
http://www.filedropper.com/pruebajavascript (http://www.filedropper.com/pruebajavascript)

Este es el código que me dio Pablo Videla se ejecuta en un servidor local.
Solucionó mi problema perfectamente...

Pueden dar por solucionado el post.!!!  :P
Título: Re: como hacer un menu en un archivo para repetirlo en todas los .html "No Iframe"
Publicado por: Pablo Videla en 27 Octubre 2015, 11:22 AM
Perfecto  ;-)