Cargar solamente una parte de una web

smintcs

Hola

Estoy haciendo empezando en esto, y tengo un problema/duda que es el siguiente:

Tengo una web con un menú a la izquierda y a la derecha una zona en la que van a ir los contenidos de cada apartado. El problema que veo es que si por ejemplo tengo 4 apartados, necesito hacer 4 htmls, hasta aqui bien. Pero en el momento que quiero añadir algo, tengo que modificarlo en los 4, por lo que veo que cada vez que tenga que hacer un cambio va a ser un tema delicao, pues si en vez de 4 tengo 20 apartados ya acabaramos.

Lo que me pregunto es si hay alguna manera de que teniendo un solo archivo html, pueda cargar en una zona de la web unos contenidos, sin tener que hacer un html para cada cosa no se si me expico. Ahora por ejemplo tengo 3 htmls, productos.html proveedores.html y contacto.html, entre ellos solo cambia el contenido de una parte de la web fija, si quiero añadir un 4º, tengo que modificar los anteriores, y lo que busco es es tener algo asi como index.html, y cargar solamente eso que cambia.

Por si no me he exlicado muy bien dejo una imagen de que es lo que tengo mas o menos

La zona rosa grande de la derecha es donde va el contenido, lo que busco en resumen es una manera de actualizar solo esa parte al pulsar en cada enlace. No se si puede hacer, y en caso de poderse me gustaría saber si se hace con javascript o php o como, no pido una solución completa ni mucho menos, solo una orientación para podermelo mirar.

Gracias

B

La solución más simple, utilizando html, es usar frames.

http://www.w3schools.com/tags/tag_frame.asp

Haz que al pinchar en cada enlace, el frame de la derecha cargue una página distinta.
Si buscas un poco encontrarás miles de ejemplos.

l31m

yo usaria un DIV para actualizarlo con AJAX. Queda mas elegante y no tienes que andar recargando frames ni nada.

Busca información sobre Prototype Ajax.Updater

Este método es un poco mas complejo sino tienes mucha idea de desarrollo web, pero si te haces con él, podras usarlo en infinidad de casos.

smintcs

Muchas gracias, he usado ajax, por si a alguien llegara a interesarle lo he hecho como pone aqui:
http://www.forosdelweb.com/f4/mostrar-html-dentro-etiqueta-div-393981/#post2374460 pero ahora tengo otra duda, es sobre el tema de la validación.

Hasta ahora validaba en el w3 validator de html y css, pero ahora los html que voy a meter en ese div van sin header ni body, y lógicamente no validan. Tengo que hacer los html individuales con sus etiquetas correctas y todo o los meto ahi tal cual? La web donde van metidos me valida, pero ellos en concreto no.

l31m

mientras la página que presentes en el navegador esté validada da igual que no te validen las demas. Al fin y al cabo los html que cargas para las secciones los usas a modo de archivos de texto con contenido para mostrar y no para presentarlos completos en el navegador.

B

El validador comprueba páginas completas, no fragmentos de código. Así que lo que tienes que validar son las páginas resultantes, en conjunto, no los "trozos" que las componen.

Usuarios habituales