Foros del Web » Creando para Internet » Diseño web »

Elegir la mejor opción

Estas en el tema de Elegir la mejor opción en el foro de Diseño web en Foros del Web. Hola a todos, Estoy desarrollando una web formada por 6 páginas. Todas las páginas siguen una maquetación similar y únicamente cambian las imágenes y el ...
  #1 (permalink)  
Antiguo 20/03/2006, 06:43
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 19 años
Puntos: 1
Elegir la mejor opción

Hola a todos,

Estoy desarrollando una web formada por 6 páginas. Todas las páginas siguen una maquetación similar y únicamente cambian las imágenes y el contenido de las mismas.

Me gustaría tener esta maquetación o plantilla en un único archivo... tal vez un .inc e incluirlo desde el resto de páginas (las 6).

De esta forma y, como el código es igual para todas las páginas (quitando las imágenes de cada página), sólo tendría un archivo con la estructura vacía.

Había pensado utilizar una función javascript llamada (cargarimagenes(imagen)) para cargar unas imagenes u otras en función de la página en la que esté.

Así el código de las 6 páginas sería algo así:

include "estructura.inc"

cargarimagenes(imagen1, imagen2, imagen3..)


El problema es que no sé si esto se puede hacer porque creo que cuando incluyes un inc estás cortando y pegando código y no puedes insertar algo en una posición determinada..

¿Alguien puede decirme como hacerlo?.. ¿Cual es la mejor técnica de progrmación cuando se tienen varias páginas con la misma plantilla o forma y sólo difiere el contenido (texto e imágenes)?. Me gustaría tener un código limpio y no reescribir lo mismo en todas las páginas..

Gracias.

Un saludo.

Última edición por Tarzan; 20/03/2006 a las 10:21
  #2 (permalink)  
Antiguo 21/03/2006, 03:20
Avatar de oskarL  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 499
Antigüedad: 19 años, 6 meses
Puntos: 2
Si te es posible, deberias usar un lenguaje de programacion del lado del servidor, como php, o asp, es decir, crear una pagina dinamica. Ese codigo tendria que incluirse en la "plantilla". Te pongo un ejemplo con php.

Imaginate que esta es la plantilla:
Código HTML:
<html>
<body>
<table>
<tr><td>
Texto1<br/>
<img scr='imagen1.jpg'>
</td></tr>
</table>
</body>
</html> 
Para hacerla dinamica:
Código PHP:
<html>
<body>
   <?php
       
include("variables.php");

       
//Si se recibe una variable llamada opcion...
       
if(isset($_REQUEST['opcion'])){
           
//Se carga ese valor
           
$opcion=$_REQUEST['opcion'];
       }else{
           
//Si no, se inicializa a uno
           
$opcion=1;
       }


       
$imagen="<img scr='"
       
$texto="";

       
//Dependiendo del valor de opcion, se eligen unos datos u otros
       
switch($opcion){
          case 
1:
             
$imagen.=$imagen1;
             
$texto=$texto1;
             break;
          case 
2:
             
$imagen.=$imagen2;
             
$texto=$texto2;
             break;
          case 
3:
             
$imagen.=$imagen3;
             
$texto=$texto3;
             break;
       }
       
$imagen.="'>";
  
?>
<table>
<tr><td>
<?php
    
echo $texto;
    echo 
"<br/>";
    echo 
$imagen;
?>
</td></tr>
</table>
</body>
</html>

El archivo variables.php simplemente tendria las imagenes y el texto:
Código PHP:
<?php
$texto1
="Lorem Ipsum dolor...";
$imagen1="img/foto.jpg";

$texto2="Once upon a time...";
$imagen2="img/story.jpg";

.
.
.
?>


En cuanto a la variable $opcion, del switch, tendria que mandarse en el menu de la pagina, tal que:

Código HTML:
<a href='?opcion=1'>Opcion 1</a><br/>
<a href='?opcion=2'>Opcion 2</a><br/>
<a href='?opcion=3'>Opcion 3</a><br/> 
Saludos
__________________
Solo hay 10 clases de personas, las que saben binario y las que no.
  #3 (permalink)  
Antiguo 21/03/2006, 05:19
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 19 años
Puntos: 1
Hola Oscar, muchas gracias por tu respuesta.

Si lo he entendido bien se trata de almacenar la parte estática (texto e imágenes) en un archivo (variables.php) y tendría ÚNICAMENTE un archivo para la página dinámica.. Con este último cargaría el contenido que quisiera (imágenes y texto) según el botón que pulsara.

Hasta ahora estaba utilizando includes y troceando la parte común (plantilla) en varios archivos para ir incluyendolos en cada una de las páginas. Pero no me gustaba esta idea porque tenía que incluir un trozo, cargar imagen, incluir otro y así hasta completar la página.. No me parecía limpio.

Me gusta la idea porque, si ahora tengo 5 páginas con la misma estructura en 5 archivos diferentes pasaría a tener un único archivo dinámico y otro para la parte estática.. Es así verdad?.

¿Tiene alguna desventaja utilizar esta técnica?.. Porque, si lo he entendido bien, me parece un sistema realmente bueno.. Nada de código repetido y pocos archivos.

Gracias.
Un saludo.
  #4 (permalink)  
Antiguo 21/03/2006, 07:18
Avatar de oskarL  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 499
Antigüedad: 19 años, 6 meses
Puntos: 2
Ten en cuenta que esto solo funciona si la estructura es EXACTAMENTE IGUAL, y solo quieres cambiar el contenido. Lo que dices que haces, de ir separando las partes comunes, esta muy bien, pero claro, en este caso, todo es comun! asi que no haria falta separar nada, jeje.

Existe una muy buena mejora, y se trataria de modificar el codigo para que en vez de de tener la parte "estatica", como la llamas tu, en un archivo, los datos estuvieran en una base de datos, de esta manera seria mucho mas facil actualizar los contenidos. En ese caso estaria bien crearse un nuevo archivo de "administracion" que accediese a los datos de la base de datos para poder modificarlos, pero claro, debes proteger ese area de tu pagina si no quieres que cualquiera pueda modificar o borrar todos los datos.


Las desventajas que se me ocurren en principio pueden ser:
- Se necesita un host que soporte php o asp u otro tipo de lenguaje de lado de servidor
- La estructura tiene que ser EXACTAMENTE IGUAL en todas las paginas.
- En el codigo que te he puesto, puede llegar a ser tedioso tener que cambiar los datos en variables.php editando a mano. Pero la solucion te le he dado arriba: Base de datos.


Salu2
__________________
Solo hay 10 clases de personas, las que saben binario y las que no.
  #5 (permalink)  
Antiguo 21/03/2006, 10:40
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 19 años
Puntos: 1
Muchísimas gracias OskarL,

Voy a seguir tu consejo e implementaré la web como dices..jeje, llevaba días pensando un sistema limpio (sin cachos de código en varios ficheros).
Ahora tengo un objetivo y puedo seguir trabajando.

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 22:55.