Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Opiniones Y Ayudas Para Web

Iniciado por yens, 26 de Abril de 2006, 11:04:15 PM

« anterior - próximo »

yens

 Os hago un quote de un tema ya activo que para no secuestrar su tema principal pues pregunto aquí la duda de mi "proyecto" xD

CitarVeo que no es bueno la manera que tengo de hacer las webs. Os explico como me he movido en general para hacer las webs que diseñaba con photoshop y no las sencillitas digamos... En principio diseño a tamaño real en photoshop toda la web gráficamente, y utilizo o bien la herramienta de corte simple o una herramienta que está en mi opinión bastante bien para la maquetación en webs, la slice tool que digamos que puedes grabar como html y te genera automaticamente las tablas y celdas según como cortes... A grandes rasgos lo que hago o hacía (llevo tiempo sin diseñar webs complejas con photoshop) es maquetar las webs mediante tablas y más tablas, y la información la solía meter por frames... pero veo que muchisima gente le pone pegas a los frames y no se me ocurre otra manera de mantener menús y demás cosas que tienen que estar en todas las secciones de forma independiente de la informacion de cada seccion.. nose si me explico :s
Sugerencias?¿ flash no es mi solución porque a día de hoy no me planteo apenas usarlo pues estoy con php y no creo que tenga tiempo para todas estas cosas.. y en cuanto a las hojas de estilo CSS estoy empezando a mirarmelas. Espero que no soltara mucho rollo y se entiendan más o menos todas las preguntas... xD.

La preview de la web es esta (desde photoshop):

AgeR

 Jeje, mejor  ;) .

Pues mira, lo primero que te puedo decir es que aprendas CSS.
Lo segundo es que intentes hacer páginas estándar, es decir, que validen como XHTML (o como HTML en su defecto) y también el CSS.
Las tablas, yo también las usaba al principio, pero no son realmente necesarias, salvo que quieras usarlas para hacer tablas de datos. Para el resto lo normal es usar divs.

Ahora hablo de algo más personal, no sé cómo lo hará el resto...
Para separar secciones, yo suelo crear varios archivos php distintos. Por ejemplo cabecera.php, menu_horizontal.php, izquierda.php, derecha.php, abajo.php, y lo que haga falta.
Luego en cada página incluyo estos ficheros en el orden que corresponda, y en la parte central (que es la que suele cambiar), se pone lo que corresponda. No sé si me explico.
El mayor problema es que estás enviando mucha información repetida de página a página, pero es lo que hay cuando no usas frames, y realmente vale la pena, los frames deberían extinguirse  (asco) .

Los gurús de las webs que le echen una mano, que yo también estoy empezando en esto  :lol: .

yens

 Gracias Ager algo es algo :P Ya como te dije estoy con el CSS poquito a poco pero como estaba liadillo con examenes y con el tema del diseño de la web pues no he mirado gran cosa. Tu te refieres a utilizar includes de php en las celdas y tablas y así que salga la propia página que le haces referencia en el include como si fuesen frames¿?

yens

 Vale Ager ya me ha contestado por IRC su forma de hacerlo... algún gurú como dice Ager me podría echar un cable y recomendarme otras formas¿? gracias!

josepzin

 Hay varias maneras:
1 - Hice un par de proyectos asi: Enmarcar Contenido de Paginas en Plantillas de Forma Dinamica. (del cache de Google, que Cristalab está temporalmente caido)
2 - Ahora estoy probando esta: http://www.zonaphp.com/creando-webs-modulares/6/
3 - Y mi próxima etapa es lograr la independecia entre la parte visual y la de código usando una clase como esta: http://www.forosdelweb.com/showthread.php?t=374243

El 1 me dio MUY buenos resultados, pero como soy curioso estoy probando mas cosas :)

Las hojas de estilo CSS y los DIV son tu proximo paso... pero sinceramente te recomiendo que este proyecto lo saques adelante con tablas y quizas implementado CSS para los textos, porque sino tardarás muchisimo hasta lograr dejar de pelear con los FLOAT, DIV, etc etc... (al menos yo renegué mucho mucho hasta lograr controlar minimamente el tema...)

yens

 Vale creo que ya tengo claro a grandes rasgos las ventajas y usos de las CSS. Ahora mismo controlo sólo los estilos en etiquetas, en pequeñas áreas o en toda la página mediante DIV de todo lo relacionado con formatos de texto. Supongo que bastará como introducción. Como bien dices mi próximo paso son las CSS avanzadas para trabajar con la estructura en bloques! muchas gracias josep :P

stratos

 Por si no lo has mirado ya, otra forma de hacerlo es justamente al contrario de como te sugirió Ager. Me explico.
Sugerencia de Ager (la llamaremos así para distinguirla de esta, ok?):
Puedes tener cabecera.php, menu.php, piedepagina.php, y simplemente llamar a esos trozos de código con un require, por ejemplo, desde cada página que tengas. Esto, tal como te dijo Ager, es útil cuando trabajas con diversos "módulos", de forma que puedes incluir todos aquellos que desees en cada página concreta (por ejemplo, un formulario de login, o de votaciones, o un banner, etc, etc).

La forma que te sugiero para que tengas en cuenta también es tener una única página, llámese "visor.php" o como te dé la gana, que contiene todo excepto el contenido concreto.
El contenido lo puedes suministrar de varias formas, aquí te pongo un par de ellas:

1 - si además de php cuentas con MySql, no te sería difícil crearte un pequeño gestor de contenidos, y almacenar esos contenidos en una tabla de la base de datos

2 - puedes poner los contenidos en divesos ficheros .php ("noticias.php", "proyecto1.php", etc)

Lo que haces con este sistema es incluir, o bien tirando de la base de datos (ejemplo 1), o bien requiriendo un fichero concreto (ejemplo 2), el contenido que desees en cada momento, mediante una simple llamada con una variable en GET.
Te pongo un ejemplo de URL que llamaría a un contenido concreto a través de una única página general.

http://www.tudominio.com/visor.php?valor=noticias

Al cargar visor.php:

- si es el ejemplo 1, buscas el id "valor" en la tabla, que contendrá las noticias
- si es el ejemplo 2, haces directamente un require($valor.".php");

Resumiendo: que tienes una única página, visor.php, que contiene la cabecera, el menú, los laterales, los banners, diversos contenidos generales, el pie de página... y el contenido se carga desde tablas o desde ficheros independientes.

Cada sistema, el que te dijo Ager, o este, tienen sus pros y sus contras.
El de Ager es cómodo cuando no todas las páginas son iguales, trabajas con módulos, o los contenidos no están en base de datos.
Este último es cómodo cuando todas las páginas son iguales excepto los contenidos.

Pero claro, al final lo que hacemos todos, cuando ya te has acostumbrado a trabajar con includes, es utilizar un sistema mixto, es decir, combinar el sistema de módulos con las bases de datos. Se trabaja un poco más en el diseño inicial de la página, sobre todo en la estructuración, pero el mantenimiento posterior es sencillísimo. Acabarás por definir tu mejor forma de trabajo en función de la web que necesites hacer.
Un saludo a todos.

Antonio Arteaga
Coordinador General de Stratos.
LibroVirtual.org

yens

 Bueno yo como he comentado hasta ahora he trabajado con includes en php sobre tablas y me resultaba muy cómodo. Pero  claro con bases de datos podría hacer formularios para actualizar "online" mis contenidos no?

StraT

 Al proceso de colocar imagenes y texto con una estructura determinada en una web se le llama "maquetar". Hay dos formas principales de hacerlo:

1) Con tablas: es la forma tradicional, no es standard y con contribuye a separar el diseño del contenido (que es la meta de cualquier buen diseñador web). El uso de tablas debería reducirse a los contenidos tabulares.

2) Con CSS: CSS es una tecnología destinada al diseño de páginas web, "hojas de estilo en cascada" y su principal ventaja es que es standard y permite una separación total del contenido y la presentación. Además, permite diferenciar entre medios web (navegadores, navegadores de texto, de voz, pda's, móviles) para poder adecuar la presentación a cada uno de ellos sin tener que cambiar la estructura de la web. Otro punto de favor es que necesita de menos código por página y es más intuitivo.

Leyendas sobre CSS:

1) Es dificil: en realidad es practicamente igual que el tag "font" de html y es más efectivo. Al principio puede resultar complicado, pero después es pan comido.

2) No tienes tanta exactitud como cuando maquetas con tablas: Falso, si sabes usar CSS, tienes la misma o más.

3) Hay navegadores que no lo tienen implementado: cierto, los mismos que no permiten imagenes png, ni javascript, ni nada de nada.

Mi método para diseñar páginas en CSS:

Primero hago el diseño en un programa tipo Fireworks, algo del estilo de lo que ha hecho Yens (por cierto, muy buen trabajo).

El paso siguiente es identificar las partes que se pueden imitar con CSS (barras lisas, fondos monocromáticos, textos...) y las que no (logotipos, curvas, botones...). Recortamos las partes que no se pueden hacer con CSS y las guardamos una a una con nombre identificativos: top, bottom...

Creo una estructura xhtml:

suele ser....



<div id="web">

  <div id="top">

     //Parte superior de la web

  </div>

  <div id="content">

     <div id="menu_iz">

        //menu izquierdo

     </div>

     <div id="centro">

        //contenido central

     </div>

     <div id="menu_der">

        //menu derecho

     </div>

  </div>

  <div id="bottom">

     //pie de la página

  </div>

</div>


Y en los divs top, menu_iz, menu_der y bottom suelo hacer include('top, bottom... .php');

Para hacer que las imágenes queden bien, suelo crear divs para cada imagen con sus medidas y el atributo float: left (para que queden una al lado de la otra.

En fin, yo te recomiendo que sigas algo parecido a eso, :D, en serio, no es dificil, con el tiempo, aprendes.


Saludos
quot;Solo hay dos cosas infinitas, el universo y la estupidez humana, aunque de lo primero no estoy muy seguro\\\" Einstein

stratos

 Evidentemente, lo de guardar los contenidos en una base de datos es mucho más cómodo, además de permitirte reultizarlos si en algún momento cambias el diseño o estructura.
Hay dos posibilidades:

- que seas tú el que alimente los contenidos
- que sean varias personas

En el segundo caso tendrías que preocuparte un poco más de cómo montar el sistema, para que los demás puedan introducir las cosas de forma que luego queden perfectamente formateadas y tal.
Pero si eres tú el único que va a meter contenidos, o los que lo hagan saben de lo que va el asunto, lo tienes tirado.

Te programas una página,  oculta, protegida con clave, o dentro de un directorio protegido, con un simple formulario, en el que puedes dar de alta nuevos contenidos, o modificar los existentes, identificados con un seudónimo ("noticias", "proyecto1", "enlaces", etc).

Si fueran personas externas tendrías que tratar de que la introducción de contenidos se hiciese de forma visual, como lo que ocurre en todos los blogs, y usarías, por ejemplo, algún plugin para ello.
También tendrías que ocuparte de la forma en que las imágenes y recursos gráficos se alojarían en el servidor.

Pero para ti, personalmente, te serviría un simple campo