Rodrigo Borrego Bernabé - Software Developer



El lío de los navegadores

Category : breves, HTML/CSS · No Comments · by Nov 5th, 2010

Es tal la maraña de diferencias de renderizado de los diferentes navegadores que es habitual incluir, entre las hojas de estilo (CSS) de las diferentes páginas web una destinada a tratar de uniformizar ese renderizado antes de comenzar a construir una imagen para la web.

Pero un ejemplo del caos que puede llegar a ser eso está en esta página que nos muestra 11, sí lector@s, ONCE, maneras diferentes de construir esa hoja de estilos.

http://perishablepress.com/press/2007/10/23/a-killer-collection-of-global-css-reset-styles/

Por cierto, gracias, al menos puedo probar varias opciones cuando tengo que iniciar un proyecto nuevo.

#main-menu li.item10 {  list-style-image: url(‘/images/icons/dot10.png’); }

Eliminando plugins de Symfony

Category : Programación, Symfony · No Comments · by Nov 4th, 2010

Normalmente cuando quieres desinstalar un plugin de symfony basta con hacer:

$ symfony plugin:uninstall <nombre_plugin>

Pero a veces el resultado no es el deseado, obteniendo un error como este:

>> plugin    uninstalling plugin "nombre_plugin"
>> sfSymfonyPluginManager Plugin "nombre_plugin" is not installed

Intenta en ese caso

symfony plugin:uninstall symfony/nombre_plugin

P.D: Lo que no te evitas en ningún caso es la eliminación manual del enlace simbólico en ./web que se crea al instalar el plugin con el publish-assets

Contando hacia atrás con CSS

Category : HTML/CSS, Programación · No Comments · by Jul 8th, 2010

Me ha encantado este artículo que permite que las listas ordenadas de HTML (ol) se numeren de maneras muy creativas: de dos en dos, hacia atrás, empezando en 100…

Nuevas posibilidades en ordenación, en definitiva.
http://www.sitepoint.com/blogs/2010/06/12/making-css-count-backwards/

Incluir internacionalización (i18n) en javascript

Category : Programación · (4) Comments · by Jun 24th, 2010

Comparto con vosotros una manera simple de incluir internacionalización en tu código javascript.

El motor

Basta con crear un fichero javascript i18n.js por ejemplo:

function _(s) {
 if (typeof(i18n)!='undefined' && i18n[s]) {
 return i18n[s];
 }
 return s;
}

Los datos

Y luego crear un fichero por idioma messages.es.js con las cadenas en el idioma base y su consiguiente traducción:

var i18n = {
 "First String": "Primera cadena",
 "Another piece of text": "Otro texto"
 };

Configurando

Y por último no hay más que configurar y usar, que consiste básicamente en incluir los dos ficheros antes generados en el html y utilizarlo con la llamada a la función _().

alert (_('First String'));

Si los ficheros de cadenas se hacen demasiado pesados siempre se pueden dividir en «secciones» de la web o mediante cualquier otro método que considereis adecuado.

Basado en el artículo leído en http://24ways.org/2007/javascript-internationalisation, aunque, creo, mucho más simple.

¡Cómo desearía que estuviera ya hecho!

Category : Programación, Symfony · No Comments · by Jun 10th, 2010

Simplemente apunto aquí un enlace a un post sobre algo que estuvimos comentando los compañeros de un proyecto en Symfony.

Necesitábamos poder relacionar de una manera sencilla un tipo de datos (cursos) con otro (estudiantes), teniendo en cuenta que ambos (cursos y estudiantes) podían tener muchos integrantes.

No nos gustaba ninguna de las opciones que nos ofrecía Symfony, básicamente los widgets de selección (sfWidgetFormChoice, etc.) y su variante el sfWidgetFormSelectDoubleList.

Y googleando encontré esto: http://gestadieu.blogspot.com/2010/03/symfony-form-widget-for-many-to-many.html

Una pena que no exista todavía. Habrá que repasarlo por si lo completan.