Dónde definir menú para poder llamarlo en las páginas

¿Dónde se define el menú horizontal de arriba (pestañas de contenidos en la web del curso) para que pueda llamarlo en todas las páginas que lo necesite sin tener que escribir su código en cada página?

Mi página tiene un menú de pestañas (como el de la web) que siempre será el mismo sea la página que sea, pues son los contenidos que tiene la web y siempre serán los mismos. Gracias
Si vale dinero, es barato.
pero, ¿puedo combinar php con html?

Todavia no me queda claro donde lo tengo que crear. A ver, yo he estudiado C, un simil:

Yo pongo mi prototipo de una funcion antes del main, llamo a la función en el main y la codifico (escribo todo el código de la función) después del main.

Así bien, el menú podria ser la función, entonces yo llamo al menu (función) en cada página, pero ¿dónde la escribo? gracias
Si vale dinero, es barato.
a y se me olvidaba, tengo el HTML-Kit, trabaja con php
Si vale dinero, es barato.
El html kit sirve para programar php claro.

Yo la verdad uso el notepad++ (un bloc de notas pero con unos colores y poco más) para programar php y html pero con el html kit también puedes.

Los includes son fáciles de usar:

- Creas una carpeta llamada includes y ahí un archivo llamado menu.php
- En tus páginas (recuerda que deben ser .php y no .html), por ejemplo index.php lo llamas con el include, así:

<?php include("menu.php"); ?>

Fácil, no?
Gracias foley, ¿pero el menú se escribe igual que en html e index también como en el curso, aunque luego la extensión sea php? Es que consigo hacer el preview de la página pero no consigo linkear entre ellas ni tampoco ver el menú en la index.php.

He creado la carpeta includes, includes/menu.php y he copiado el menú del curso cambiándole la extensión a php, y he hecho la llamada al archivo (<?php include("menu.php"); ?>) desde el head y desde el body, por cierto, se pone en el body ¿no?. ¿No tiene una etiqueta de cierre estilo </php>?
¿Que he hecho mal? Gracias.
Si vale dinero, es barato.
Se pone en el body así que sácalo del head :)

El menú se escribe en html, lo que pasa que lo guardas en un php.

Mira, te voy a pasar unos ejemplos que uso yo:

En la carpeta includes tengo varios archivos, uno de ellos se llama menu-izq.php y dentro tiene esto:

	<ul>
			[*][url="index.php"]Página Principal[/url]
			[*][url="test-autoescuela.php"]Tests[/url]
			[*][url="foro/index.php"]Foros[/url]
			[*][url="blog/index.php"]Blog[/url]
			[*][url="email/?p=subscribe"]Suscríbete[/url]
			[*][url="contacto.php"]Contacto[/url]
	[/list]

Cuando quiero que se vea ese menú, pongo lo siguiente en el html de la página que sea (eso sí, tiene que ser .php):

<html>
<head>
<title></title>
</head>
<body>
<div id="menuv">
		<? include("includes/menu-izq.php"); ?>
</div>
</body>
</html>

El <? indica que empieza código php y el ?> indica que el código php termina.

Ahora bien, después de toda esa explicación, tienes que tener en cuenta de que la web en la que pongo el primer código (el que tiene el primer archivo, el archivo que llamo con el include) es una web sencilla a nivel de archivos, es decir, no tiene un mogollón de carpetas y no hay lío con las rutas. Eso es porque es una web hecha en php y lo que son las carpetas ya las genero yo de otra forma (ahora no viene al caso explicarte, igual te lío más...). Con eso quiero decirte que ojo con las rutas, una solución buenísima es usar rutas absolutas (y no relativas como tengo yo), así:

	<ul>
			[*][url="http://www.tuweb.com/index.php"]Página Principal[/url]
			[*][url="http://www.tuweb.com/test-autoescuela.php[/b]"]Tests[/url]
			[*][url="http://www.tuweb.com/foro/index.php"]Foros[/url]
			[*][url="http://www.tuweb.com/blog/index.php"]Blog[/url]
			[*][url="http://www.tuweb.com/email/?p=subscribe"]Suscríbete[/url]
			[*][url="http://www.tuweb.com/contacto.php"]Contacto[/url]
	[/list]

Y lo mismo en la llamada del include:

<? include("[b][url]http://www.tuweb.com/includes/menu-izq.php[/url][/b]"); ?>

Qué te parece? Supongo que ahora lo entenderás mejor, si no es así avisa.

Un saludo ;)
Muy buena aclaracion. Ahora lo entiendo mejor. Más o menos era como pensaba, voy a probar y te comento. Muchas gracias.
Si vale dinero, es barato.
Creo que mi problema está en la ruta o... nose. Voy a ver si lo vemos:

En mi Workespace (HTML-Kit) tengo una web ejemplo (la del curso CCTW)
que se llama web-ejemplo-cctw-local. Esta es la estructura para las rutas que creo que es lo que me falla:

web-ejemplo-cctw-local
probarmenu.php
includes
menu-izq.php
objetos
...
estilos.css
index.php

En objetos, ya sabes, algun dibujo y el icono del sobre para los E-mail.

Ahora para no liarme muxo intentare que el menu-izq.php del includes me aparezca en probarmenu.php creado exclusivamente para la ocasión. Ambos archivos son Blank HTML Page con los siguientes códigos respectivamente:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Page title</title>
</head>
<body>

<ul>
  • Página Principal
  • Tests
  • Foros
  • Blog
  • Suscríbete
  • Contacto


    </body>
    </html>



    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    <html>
    <head>
    <title>Probar menu</title>
    </head>
    <body>

    <? include("http://www.web-ejemplo-cctw-local.com/includes/menu-izq.php"); ?>

    </body>
    </html>

    Lo único que he cambiado ha sido el dominio de tuweb por el de web-ejemplo-cctw-local. Seguro que en esta ya lo saco.

    Despues de todo esto te tengo que enviar un jamón. Gracias.
  • Si vale dinero, es barato.
    Hola otra vez

    Me imagino que el primero código es el del archivo menu-izq.php, no? Pues el fallo es que estás poniendo en él lo de <html><head></head><body></body></html>. Eso no hay que ponerlo porque date cuenta el lío de página que quedaría al hacer el include en el archivo probarmenu.php tal y como lo tienes ahora mismo:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>Probar menu</title>
    </head>
    <body>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    <html>
    <head>
    <title>Page title</title>
    </head>
    <body>

    <ul>
  • Página Principal
  • Tests
  • Foros
  • Blog
  • Suscríbete
  • Contacto


    </body>
    </html>

  • </body>
    </html>

    Lo que te puse en negrita es lo que "inserta", por así decirlo, el include en la página probarmenu.php

    Creo que viendo eso ya entiendes perfectamente lo que hace el include.

    La solución es fácil, tienes que poner solo esto en el archivo menu-izq (lo mismo que tengo en mi web):

    <ul>
    [*][url="index.php"]Página Principal[/url]
    [*][url="test-autoescuela.php"]Tests[/url]
    [*][url="foro/index.php"]Foros[/url]
    [*][url="blog/index.php"]Blog[/url]
    [*][url="email/?p=subscribe"]Suscríbete[/url]
    [*][url="contacto.php"]Contacto[/url]
    [/list] 

    Ahora recuerda usar las rutas absolutas como te dije antes, es decir en vez de
    [url="index.php"]Página Principal[/url]
    ponle
    [url="http://www.tuweb.com/index.php"]Página Principal[/url]
    . Ese sería un ejemplo, haz lo mismo en todos los enlaces del menú que "inserta" el include.

    Saludos ;)

    P.D: Ya me deben algunos jamones por aquí, tomo nota :lol: :lol: :lol:
    Ni intentando otras rutas y tal, y nada. esto es lo qaue tenemos:

    web-ejemplo-cctw-local
    __probarmenu.php
    __includes
    ____menu-izq.php
    __objetos
    ____...
    __estilos.css
    __index.php



    menu-izq.php (el primer enlace lo ejecuta bien ../index.php).

    <ul>
  • Página principal
  • Tests
  • Foros
  • Blog
  • Suscríbete
  • Contacto




    probarmenu.php (el enlace al index.php lo hace bien, el include no)

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    <html>
    <head>
    <title>Probar menu</title>
    </head>
    <body>

    <? include("http://www.web-ejemplo-cctw.com/includes/menu-izq.php"); ?>

    Página Principal
    </body>
    </html>
  • Si vale dinero, es barato.
    Ahora si que no entiendo cuál es el problema.

    Los includes son fáciles de entender, busca algo de info por google, es que ya no sé qué decirte sevgon :oops:
    Claro, los includes no parecen dificiles, pero esque no se que será. Además cuando es un enlace como al index.php funciona. También he probado estas formas en el include:

    <? include("http://www.web-ejemplo-cctw.com/includes/menu-izq.php"); ?>

    <? include("web-ejemplo-cctw.com/includes/menu-izq.php"); ?>

    <? include("includes/menu-izq.php"); ?>

    Cuando empiezas con C los primeros errores pueden ser horas para llegar a la solución, pues ésto es lo que me está pasando ahora con html ó php que todavía no se si existe el lenguaje php ó sólo es como un complemento o una variante del html, ¿los includes son como librerías?

    Estoy lleno de dudas, por eso me está gustando tanto ésto. Bueno voy a ver si miro ésto de los includes. Y si sabes otra forma o ... bueno ya sabes si puedes ayúdame, hazlo. Muchas gracias Foley.
    Si vale dinero, es barato.
    Yo los includes los uso sin problema, lo que pasa que no sé qué error estás cometiendo.

    Yo la verdad los includes los empecé a usar sin saber php ni nada. Ahora ya sé algo pero no es necesario.
    Éstos includes son tan fáciles de usar que no me queda otro remedio que empezar a desconfiar del HTML-Kit. Los archivos siempre son páginas en blanco ¿no? ¿Qué otro programa me puedo descargar para probar? El FrontPage es un compilador?
    Si vale dinero, es barato.
    sevgon escribió:Éstos includes son tan fáciles de usar que no me queda otro remedio que empezar a desconfiar del HTML-Kit. Los archivos siempre son páginas en blanco ¿no? ¿Qué otro programa me puedo descargar para probar? El FrontPage es un compilador?

    Usa el notepad++, te vendrá de lujo si sabes C o otro lenguaje de programación ;)

    P.D: Puede ser el html kit, es que creo que siempre pone la estructura <html><head><body></html> y si lo pone en el archivo menu-izq.php entonces ya te fastidia porque el include podría no ir bien.