Otro de mis pequeños proyectos

Categoría: Mundo web (Página 9 de 10)

El Congreso: la mejor forma de gastar el dinero en una página web

Léase de forma irónica, por supuesto.

Durante todo el dí­a de ayer (que pena no haber podido sacar un rato para escribir este post), la página web del Congreso de los Diputados ha sido el tema más comentado en mi trabajo. La mofa es insuperable.

No es que me considere un experto en Internet ni en el desarrollo de webs, pero mi escasa experiencia de unos años me hace ver que esa web no vale 14.304.113 euros… sí­, sí­, has leido bien, MíS DE 14 MILLONES DE EUROS.

Y por qué no? La verdad es que es sencillo, porque no.

El diseño la verdad es que mejora mucho lo anterior y si que se adapta mucho más a una web «moderna», pero hay cosas que no se pueden permitir, y menos por ese dinero.

Me gustarí­a repasar varias cosas que vi en la web… sin entrar en como es en su estructura, ni nada por el estilo, sólo en cosas que se pueden ver a primera vista.

Para empezar, que el buscador no funcione con Firefox, me parece descabellado porque un navegador que alcanza el 25% de las visitas de Internet, es para tener en cuenta y más si alguien se dedica profesionalmente a realizar una página web.

¿Y qué es eso de una portada de una web que pese más de 300kB? Pobres usuarios que accedan sin banda ancha… Aunque quizás nos lo expliquemos si miramos el código fuente de la web. Me quedé completamente sin palabras. El calificativo a utilizar serí­a caótico o quizás demencial. Me lo he guardado como recuerdo

Y esa maquetación con tablas! Moderno, moderno…

La verdad es que no quiero perder más el tiempo, pero me parece increible como por más de 14 millones de euros, dos empresas del calibre de Indra y Telefónica hayan hecho semejante porquerí­a. Se les deberí­a caer la cara de vergüenza.

El problema de opacity en Internet Explorer

Si alguna vez has usado el Accordion de mootools y has visto cómo queda en Internet Explorer pasa esto:

Ejemplo del problema de opacity en Internet Explorer

Esto es debido a la caracterí­stica opacity de CSS para conseguir efectos translucidos con algún elemento de la web. También ocurre con las transiciones.

Este efecto que es como una especie de borde o como si el grosor de las letras variase la verdad es que molesta mucho porque no permite leer el texto.

En particular, para el Accordion, es posible deshabilitar el opacity y así­ arreglaremos el problema. El efecto no es exactamente el mismo, puesto que ahora el texto no irá desapareciendo (no se irá haciendo el degradado hacia transparente), pero por lo menos podremos usar el Accordion también para este navegador.

Paginación de páginas en PHP

Hace ya un tiempo que hice una clase para realizar paginaciones en web mediante PHP y que voy a desempolvar para haceros llegar. esta clase, aunque sencilla, la verdad es que llevo ya un par de años usándola y me ha alegrado la vida unas cuantas veces.

Se trata de una clase en PHP llamada Paginación que permite calcular y maquetar la paginación que podemos incluir en nuestras páginas web. Únicamente tenemos que indicarle:

  • offset: número de páginas desde el inicio
  • nitems: número de elementos por página
  • ntotal: número total de elementos

Con esto, le podemos pedir a la clase que nos cree el tí­pico 1 2 3 4 5 6 7 8 9 10 donde cada uno de los elementos serán enlaces a la página correspondiente y la página seleccionada está como texto normal. Este comportamiento se puede cambiar si lo deseamos.

He creado unos cuántos ejemplos.

Puedes descargarte la clase aquí­. Eres libre de usarla y modificarla para adaptarla a tus necesidades, siempre y cuando mantengas el nombre del autor original… 🙂

Además, tenemos distintos métodos que nos ayudarán a modificar el «comportamiento estándar» y así­ adaptarnos a nuestras necesidades:

  • getPaginaActual: calcula cuál es la página en la que estamos a partir del offset y del número de elementos
  • getPaginas: obtener el número total de páginas en base al número total de elementos y los elementos por página
  • setMaxPaginas: establece el número de páginas que apareceran (por defecto, 10) es decir 1 2 3 …. 10
  • setNumberPattern: cambia la forma de visualizar los números de página no seleccionados
  • setNumberSelectedPattern: cambia la forma de visualizar el número de página seleccionado
  • getRenderSingle: renderiza número según el desplazamiento de página que le damos y adapta el texto que le pasemos (útil para el «anterior» y «siguiente»)

La clase está completamente comentada a nivel de código, con lo que saber qué hace cada cosa resulta sencillo 😉

Imágenes de espera

En http://www.ajaxload.info tenemos la posibilidad de crear una extensa variedad de gifs animados que podemos usar para todas esas veces que tenemos que poner un icono que haga ver que estamos cargando algo o para decirle al usuario que espere. Sí­ esos tí­picos relojes o barras que se mueven.

Bajo un entorno sencillo y amigable y contando con AJAX, podemos elegir el motivo (cí­rculos, barras, flechas, etc), el color de fondo (o transparente), el color del primer plano… darle al botón de generar y… listo! Podemos ver nuestro resultado y descargarlo para nuestro uso.

Hay hasta un Top Ten!! 😀

Quitar el botón de cerrar de las pestañas de Firefox 2 y poner un único botón

Los usuarios de Firefox 2 se habrán dado cuenta que si migramos desde la versión 1.5, ahora no existe un único botón de cerrar pestaña (tab) situado en la misma lí­nea de los tabs pero a la derecha, sino que cada pestaña tiene su propio botón de cerrar. La verdad es que, a parte de la poca usabilidad que le veo tener en cada pestaña un botón distinto, me resulta engorroso y me gustaba más la antigua forma.

Pero no está todo perdido. En 3 sencillos pasos podemos solucionar el problema:

  • Teclear about:config (todo junto) como dirección en el navegador (con esto abriremos la consola de configuración de Firefox que permite cambios «en caliente»)
  • Buscar browser.tabs.closeButtons y hacer doble-click
  • En la ventana que nos aparece pondrá el valor 1; cambiarlo a 3

Tras esto veremos como directamente han desaparecido todos los botones de las pestañas y ha quedado un único botón a la derecha.

Ya está, ¿fácil, no?

Efecto de parpadeo (blink) para propiedades CSS con mootools

Hace unos dí­as estuve trabajando sobre unos formularios ví­a Ajax y se me ocurrió la opción de marcar los campos que no estaban correctos con un borde rojo en vez de gris. Pero ya que contaba con mootools, decidí­ crear la opción de que los campos parpadeasen durante un par de veces. Tras darle unas cuantas vueltas, he desarrollado esta pequeña clase que realizar este parpadeo sobre cualquier propiedad CSS.

Y lo mejor para estos casos, ver un ejemplo.

La clase está disponible en esta dirección.

Es simplemente una clase que acepta como parámetros el id del elemento y un hash con las siguientes opciones:

  • property: propiedad CSS a variar, por defecto border-color
  • duration: duración en milisegundos de una transición, por defecto 500
  • margin: margen en milisegundos entre una transición y otra, por defecto 50
  • from: valor inicial de la propiedad CSS. Admite valores enteros o incluso colores usando Color(). Por defecto Color(‘#000’)
  • to: valor final de la propiedad CSS. Admite valores enteros o incluso colores usando Color(). Por defecto Color(‘#fff’)
  • times: número de repeticiones, considerando una repetición como una transición de ‘from’ a ‘to’ y de ‘to’ a ‘from’. Por defecto 3
  • transition: transición de mootools a usar, por defecto Fx.Transitions.linear
  • endActive: si está a true, indica que se acabará con el valor ‘to’, mientras que si es false, acabará con el valor de ‘from’. Por defecto, true

Cómo usar las librerí­as de PEAR sin tener acceso al servidor

Este pequeño truco lo uso prácticamente todas las veces que uso alguna de las librerí­as de PEAR, como por ejemplo las de acceso a base de datos, XML, cache, etc.

Inicialmente, todas estas librerí­as pueden instalarse de forma rápida y fácil gracias al instalador de PEAR que viene con PHP pero, ¿qué ocurre cuando no administramos el servidor o no hay posibilidad de que se añadan estas librerí­as?

Muy sencillo, lo que vamos a hacer es decirle al servidor que lea las librerí­as de cierto directorio que nosotros le indiquemos. Para ello, nos bajamos cada una de las librerí­as que nos hacen falta y colocarlas en cierto directorio con la misma estructura, es decir, manteniendo cada fichero en su directorio y creando los directorios que nos digan. A este directorio inicial lo pondremos por ejemplo en esta variable:

$pear_dir = '/path/to/dir/PEAR';

Y tras esto, usaremos este código:

// Extraemos los paths de la configuración
$paths = explode(":", ini_get('include_path'));
// Inicializamos
$path = array();
foreach($paths AS $actual) {
if($actual != ".")
$path[] = $actual;
}

// Establecemos el path local de PEAR dentro del include_path de PHP
$path = array_merge(array(".", $pear_dir), $path);
ini_set('include_path', implode(":", $path));

De esta forma, el primer directorio donde mirará el servidor de PHP será el directorio actual (.), tras esto el directorio donde hemos colocado las librerí­as de PEAR ($pear_dir) y tras esto en el resto de directorios configurados en el sistema.

Comparación de CMS

Me han pasado este enlace que me ha parecido muy interesante: CMSMatrix.org. Tiene mucha información sobre muchos y diversos software de CMS, Blogs, Wikis… Además, podremos comparar cara a cara hasta 10 de ellos a la vez. Para algunas entradas, no hay información muy actual, pero sí­ que es muy detallada, con un montón de campos a comparar.

(Gracias Xabi!)

Cómo crear tabs de forma sencilla: CSS Tab Designer 2

CSS Tab Designer v2.0, genial aplicación (para Windows únicamente) que nos permite generar de forma rápida y sencilla tabs que podremos usar en nuestros menús o apartados. La verdad es que para gente con poca imaginación y visión del color como yo, da muchas ideas.

Podemos probar distintos modelos, tamaños de letra, previsualizar para distintos navegadores, añadir las entradas que queramos… y lo mejor de todo: totalmente gratuito y disponible para descargar.

Captura CSS Tab Designer 2

Ví­a Zonamasters.com

Crear estructura DOM de código HTML para usar en Javascript

DOMTool de Muffin Research Labs es una herramienta online que nos permite pasar un trozo de código en HTML y obtener el código Javascript equivalente que nos genera su estructura DOM.

Muy útil para nuestras aplicaciones en Ajax y DHTML.

Por ejemplo, si queremos pasar este código HTML:

Texto de párrafo en negrita

btendremos:

var p1=document.createElement( P');
var strong1=document.createElement( STRONG );

p1.appendChild(strong1);
var txt1=document.createTextNode( Párrafo en negrita );

strong1.appendChild(txt1);

Donde además nos dice que tenemos la variable p1 disponible para integrar en nuestro código.

« Entradas anteriores Entradas siguientes »