Foros del Web » Creando para Internet » HTML »

Evitar código repetido

Estas en el tema de Evitar código repetido en el foro de HTML en Foros del Web. Buenas tardes, mi nombre es Luis, visito mucho este foro pero hoy decide registrarme. Estoy desarrollando una web en HTML5 y CSS para un proyecto ...
  #1 (permalink)  
Antiguo 07/04/2016, 11:39
 
Fecha de Ingreso: abril-2016
Ubicación: San Nicolas de los Arroyos
Mensajes: 8
Antigüedad: 8 años, 8 meses
Puntos: 0
Evitar código repetido

Buenas tardes, mi nombre es Luis, visito mucho este foro pero hoy decide registrarme. Estoy desarrollando una web en HTML5 y CSS para un proyecto que tenemos en conjunto con otros docentes donde trabajo. Me encuentro con un problema, en una de las paginas cada alumno tiene un perfil (por ahora cargado a mano, en un futuro tomará datos de mysql) el codigo del perfil es:


<article id="perfil-alumno">
<div id="marco-foto">
<img id="foto-perfil" src="./recursos/foto-lider-1.jpg">
</div>
<div id="marco-nombre">
<p id="texto-perfil">NOMBRE APELLIDO</p>
<img id="barra-perfil" src="./recursos/barra-separadora-perfil.jpg">
</div>
<div id="marco-año">
<img id="logo-perfil" src="./recursos/logo-perfil.jpg">
<p id="texto-perfil">2015</p>
</div>
<div id="marco-barra">
<img id="barra-perfil2" src="./recursos/barra-separadora2-perfil.jpg">
</div>
<div id="marco-intereses">
<div id="titulo-intereses">
<p id="texto-intereses">intereses</p>
</div>
<div id="iconos-intereses">
<img id="int-icono" src="./recursos/int-programacion.jpg">
<!<img id="int-icono" src="./recursos/int-programacion.jpg">
<!<img id="int-icono" src="./recursos/int-programacion.jpg">
<!<img id="int-icono" src="./recursos/int-programacion.jpg">
</div>
</div>
</article>

El resultado es el siguiente:



El problema es que va a haber en una página unos 50 perfiles, por lo que el codigo se vuelve absurdamente largo y la carga de la página lenta. Si insertara cada perfil como imagen (armada en corel, por ejemplo) seria muchisimo trabajo de diseño. Existe alguna manera de crear un formato y darle los parametros de cada perfil? Si hablaramos de POO, es posible crear instancias de un objeto?

Desde ya muchisimas gracias.
  #2 (permalink)  
Antiguo 07/04/2016, 12:55
Avatar de No_haynombre  
Fecha de Ingreso: marzo-2016
Ubicación: Zagreb
Mensajes: 67
Antigüedad: 8 años, 9 meses
Puntos: 5
Respuesta: Evitar código repetido

Hola, un placer recibirte aquí en FWD.

Mira tu problema en lo que he interpretado, lo puedes solucionar con una paginacion, y que cada alumno tenga su propio contenido del perfil para darle sus parametros, amigo te recomiendo que lo consultes en el foro de PHP o googlealo como paginacion de datos, y lo de ver los parametros de cada alumno seria una consulta en lo que he interpretado puede que necesites mas o no sea lo que te he dicho.

Suerte y saludos!
__________________
Este es el fin de esta leyenda, escribiendo quemaduras de una luz de vela, soplando el viento desde Siberia. *-Varen Ka-*
  #3 (permalink)  
Antiguo 07/04/2016, 13:03
 
Fecha de Ingreso: abril-2016
Ubicación: San Nicolas de los Arroyos
Mensajes: 8
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: Evitar código repetido

Estuve investigando lo de paginación. lamentablemente no es una solución viable para mi, ya que necesito la información en una sola página. Ademas todavia no hay una BD implementada que me permita la lectura de datos. Te agradezco de todas formas.
  #4 (permalink)  
Antiguo 07/04/2016, 14:20
Avatar de No_haynombre  
Fecha de Ingreso: marzo-2016
Ubicación: Zagreb
Mensajes: 67
Antigüedad: 8 años, 9 meses
Puntos: 5
Respuesta: Evitar código repetido

Hola.

Lamento que esa no sea la solución.

Mira también podria manipular un poco el ancho y el alto de los datos de los alumnos con hojas de estilo CSS3 para hacerlas mas comodas al momento de mostrarlas y a la vez se puedan ver todas. Algo asi como dimensionarlas. No necesitarias un extenso trabajo de diseño, les das una clase las defines en el CSS3 y vas mirando con una vista previa de como seria el tamaño adecuado.

Saludos
__________________
Este es el fin de esta leyenda, escribiendo quemaduras de una luz de vela, soplando el viento desde Siberia. *-Varen Ka-*
  #5 (permalink)  
Antiguo 07/04/2016, 14:23
 
Fecha de Ingreso: abril-2016
Ubicación: San Nicolas de los Arroyos
Mensajes: 8
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: Evitar código repetido

Si, en este momento esa imagen esta seteada con CSS3, sería una opción la de reducir un poco el tamaño. Gracias.
  #6 (permalink)  
Antiguo 07/04/2016, 14:50
Avatar de No_haynombre  
Fecha de Ingreso: marzo-2016
Ubicación: Zagreb
Mensajes: 67
Antigüedad: 8 años, 9 meses
Puntos: 5
Respuesta: Evitar código repetido

Exacto, tambien podria aplicar un poco de porcentajes asi cada vez que se ingrese alguna nueva imagen o que sean estaticas algo como responsive, espero que te haya sido de ayuda hombre.

Cualquier duda nos comentas como te ha ido, Suerte
__________________
Este es el fin de esta leyenda, escribiendo quemaduras de una luz de vela, soplando el viento desde Siberia. *-Varen Ka-*
  #7 (permalink)  
Antiguo 08/04/2016, 10:16
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 9 meses
Puntos: 1826
Respuesta: Evitar código repetido

Lo de la carga "lenta" es relativo. Si necesitas la info la necesitas cargar, no hay de otra.

El problema que tienes más bien es automatizar la carga de datos de los perfiles, aunque lo más adecuado es una base de datos, en este caso puedes cargar los datos desde un archivo de texto.

Por ejemplo este script sencillo de php, que rompe la info del archivo de texto en pedazos y ya a cada pedazo lo tomas para armar lo que gustes.

Consta de dos partes. Un archivo leer.php y otro con el contenido

Código PHP:
Ver original
  1. <?php
  2. /* Desplegar Contenido Noticias */
  3.  
  4.  
  5. /* Separador */
  6. $Separador = '~|~';
  7.  
  8.  
  9. /* Abrir archivo */
  10. $Archivo = fopen("Contenido.txt", "r");
  11. $Escrito = fread($Archivo, 10240);
  12. fclose($Archivo);
  13.  
  14.  
  15. /* Separar líneas, palabras y crear Array */
  16. $Lineas = explode("\r\n", $Escrito);
  17. for ($x=1; $x < count($Lineas); $x++){
  18.     $Frases = explode($Separador, $Lineas[$x]);
  19.     for ($y=0; $y < 3; $y++){
  20.         $Array[$x][] = $Frases[$y];
  21.     }
  22. }
  23.  
  24.  
  25. /* Desplegar el contenido del Array */
  26. for ($x=(count($Lineas)-1); $x > 0; $x--){
  27.     echo "
  28. <div>
  29.    <h2>". $Array[$x][0] ."</h2>
  30.    <h3>". $Array[$x][1] ."</h3>
  31.    <p>". $Array[$x][2] ."</p>
  32. </div>
  33. ";}
  34. ?>

contenido.txt

Código HTML:
Ver original
  1. Prueba Noticia 1 ~|~ Hola ~|~ Adios<br />asdf<br />asdf<br />asdf<br />asdf<br />asdf<br />asdf<br />asdf
  2. Prueba 2 ~|~ Subtítulo ~|~ Hola a todos
  3. Noticia Número 3 ~|~ Hola como están los 3 ~|~ asdfa<br />sdfa<br />sdf<br />as<br />df<br />asd<br />f<br />asdf<br />asdfasdfasdfasdf
  4. Noticia Número 4 ~|~ Hola como están los 4 ~|~ asdfa<br />sdfa<br />sdf<br />as<br />df<br />asd<br />f<br />asdf<br />asdfasdfasdfasdf
  5. asdfasdfasdf5 ~|~ asdfasdfasdf ~|~ asdfasdfasdf


En lugar de estar separados los campos por un tabulador puse ~|~, pero puedes usar comas por ejemplo. Así que simplemente preparas los datos en una tabla de excell y la guardas como texto.
  #8 (permalink)  
Antiguo 08/04/2016, 11:37
 
Fecha de Ingreso: abril-2016
Ubicación: San Nicolas de los Arroyos
Mensajes: 8
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: Evitar código repetido

Muchisimas gracias, lo voy a probar y cuento como me fue. Saludos

Etiquetas: html5, instancias, repeticion
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 14:31.