Lo mejor de mi RSS del 16 al 22 de junio de 2014

Bienvenidos al verano. Hace sólo unas horas del solsticio y a partir de hoy, los días empezarán a ser más cortos en el hemisferio Norte y más largos en el hemisferio Sur. Demos un repaso a las noticias más interesantes de la semana:

Comienzo con el vídeo de la presentación que hice en la WordCamp Málaga del año pasado y que desde esta semana está online en WordPress.tv: Vídeo de la presentación en la WordCamp Málaga 2013: WordPress como plataforma de desarrollo – El blog de CODECTION Porque JavaScript es el lenguaje del futuro (y creo que no me equivoco si lo digo) es curioso experimentar con él: Buscando el límite de argumentos para una función Javascript – Etnassoft Curiosa entrada para todos los interesados en cuestiones de más bajo nivel como el organizamiento de ficheros en disco:

Lo que se espera de un sistemas de archivos moderno – El blog de Diego Calleja read more

Leer más » 1 Comentario

Lo mejor de mi RSS del 2 al 8 de junio de 2014

Casi en el solsticio de verano podríamos decir que ha sido una semana bien provechosa, al menos para nosotros, en CODECTION hemos liberado nuestro primer plugin para WordPress que hemos subido al repositorio. Entre eso y otras cosas tenemos los siguientes enlaces:

La interactividad con el usuario en formularios web es básica así que esto te viene bien: Fort.js: Indicador de progreso para formularios – Kabytes Hasta que no esté consolidado no me interesara pero siempre viene bien saber que se siguen creando nuevos lenguajes: Swift, Apple lanza un nuevo lenguaje para programar en iOS y OS X – Genbeta Dev Buen ejemplo de plugin básico para WordPress muy funcional y muy bien explicado: Crea tu propio plugin SEO – Ayuda WordPress Tras Ubuntu, Linux Mint es una de las distribuciones más populares (se basa en Ubuntu por cierto):

Qué hacer después de instalar Linux Mint 17 Qiana – Desde Linux read more

Leer más » 1 Comentario

Lo mejor de mi RSS del 19 al 25 de mayo de 2014

Estamos ya casi en junio y se nota porque en Córdoba ya hay Feria. Vayamos a los enlaces que me han resultado más interesantes de la semana:

  • Interesante artículo donde se detalla cómo crear un fichero wp-config.php para dar servicio a varios entornos de forma simultánea: wp-config.php para WordPress multientorno – Ayuda WordPress
  • Porque JavaScript está de moda y porque es un lenguaje con muchas más posibilidades de las que uno se imagina la primera vez que lo maneja, os traigo un artículo técnico sobre características avanzadas del lenguaje: Los “Rest Parameters” en Javascript (ECMAScript 6 y polyfill) – Etna Soft
  • Tantos años hablando de servidores LAMP (yo mismo he escrito mucho sobre el tema), que ahora toca hablar de LEMP: Linux, EngineX ( Nginx), Maríadb o Mysql y Php o Python, ¿queréis aprender a montar uno en Ubuntu? Aquí tenéis el cómo: Instalar LEMP en Ubuntu Trusty Tahr – Ubunlog
  • read more

    Leer más » 1 Comentario

    Comprobar en PHP si una URL contiene una cadena

    phpMuchas veces tenemos que tomar decisiones en función de lo que contenga la URL. No suele ser el método más elegante y en una buena arquitectura con un modelo vista controlador no es lo frecuente, sin embargo, sí es algo que pasa y es algo que nos puede sacar de más de un problema si sabemos cómo hacerlo. read more

    Leer más » 3 Comentarios

    Localizar calendario datepicker de jQuery UI: formato de fecha y nombres de los meses

    Cuando hacemos desarrollos web para proyectos con algún apartado de gestión basado en formularios, lo más normal, es que terminemos teniendo que introducir fechas. Las fechas son un tanto problemáticas, tanto por su posterior manejo, como por su introducción por parte del usuario. ¿Por qué? Por dos razones:

    • Hay que introducirlas en un determinado formato, en español es primero el día, luego el mes y luego el año, todo separado por barras “tipo Unix”. Podemos hablar de diferentes formatos, depende del país y la cultura y podemos hablar también de fechas incluyendo el día de la semana o incluso el nombre del mes con letras.
    • Es más fácil y más gráfico hacer clic sobre un día en un calendario que escribir la secuencia a mano.

    Una buena solución suele ser manejar un calendario que salga directamente sobre el campo de texto como este que os muestro a continuación: read more

    Leer más » 3 Comentarios

    Redondear números decimales en JavaScript

    Seguro que hay mejores formas de hacerlo, así que a través de los comentarios me encantaría conocerlas, sin embargo, esta es la que yo uso hasta ahora y me funciona correctamente. Normalmente, trato de redondear los números en la parte del servidor, pero en ocasiones tendremos que hacerlo en el cliente y por eso traigo esta función: read more

    Leer más » 13 Comentarios

    Imitar target=”_blank” en JavaScript

    Cuando trabajamos con JavaScript, en ocasiones imitamos el comportamiento de la etiqueta <a href=””> de anchor, de HTML, con un location.href = url. Sin embargo, cuando queremos que el enlace destino se abra en una pantalla aparte, haciendo uso de la expresión:

    <a href="URL" target="_blank">el texto del enlace</a>

    No podemos usar ese método, sino este que muestro a continuación:

    Leer más » 8 Comentarios

    Controlando el evento resize en JavaScript

    Si trabajamos con diseños web responsive, muy probablemente hagas algún tipo de acción con JavaScript para detectar el evento resize. Este evento, como indica su nombre en inglés, indica que la web ha sufrido un cambio de tamaño. Si en lugar de trabajar con JavaScript directamente sois como yo, usuarios de jQuery el ejemplo típico sería el siguiente:

    $(window).resize(function() {
      alert("El tamanno ha cambiado!");
    });

    ¿Qué problema nos surgirá tras usar este código tal cual, dependiendo del navegador llegaremos a obtener respuestas diferentes. En Google Chrome he comprobado, por ejemplo, que en cada redimensionamiento en lugar de saltar un sólo evento se disparaban cuatro: uno con el tamaño antiguo, tres con el nuevo. En Firefox el comportamiento por lo visto también puede ser errático (o parecernos para nuestros propósitos).

    Leer más » 4 Comentarios

    5 consejos para usar jQuery con WordPress

    A día de hoy pocos trabajan directamente con JavaScript para manejar la parte del cliente, se suelen usar frameworks que facilitan el trabajo y sin lugar a dudas, la referencia es jQuery. Cuando desarrollamos temas en WordPress (y plugins), por lo tanto, será bien probable que necesitemos de jQuery. Hay muchas formas de usarlo, pero vamos a explicar una serie de buenos métodos para evitar complicaciones.

    Este texto es una traducción, adaptación y mejora del original en inglés: 5 tips for using jQuery with WordPress de Eric Martin.

    1. Utiliza wp_enqueue_script()

    Cuando manejamos jQuery a secas, sin WordPress, usamos directamente la etiqueta <script> y llamamos a nuestro fichero, ya esté en local o en un CDN. Sin embargo, en WordPress las cosas cambian, aunque pueda funcionar, no debemos hacerlo.

    Para ello tenemos una función específica: wp_enqueue_script y podemos unir la carga de jQuery a una acción en concreto. Al igual que esta función existe otra para cargar estilos: wp_enqueue_style.

    Leer más » 1 Comentario

    Aligerando WordPress: optimizando el rendimiento

    Aprovechando la celebración de la Meetup WordPress Córdoba 2012, la segunda que se celebra y de la que hablaré más y mejor en otra entrada, preparé una ponencia sobre rendimiento en WordPress. La presentación va dirigida a la fórmula más popular: WordPress ejecutando en un servidor de alojamiento compartido.

    Dentro de la ponencia no se habla de mejoras a nivel de servi

    Leer más » 4 Comentarios

    Nuevos elementos en HTML5

    Hace ya un tiempo, redacté una entrada que tuvo bastante éxito sobre los elementos que desaparecerán en breve de HTML. Muy relacionada con ésta os traigo esta nueva entrega, que podría ser la cara inversa a la anterior: Nuevos elementos en HTML5. Comencemos.

    <article>

    En español artículo. Se usa para definir de forma independiente, contenido autónomo. Puede ser contenido especificado de forma independiente del resto del sitio. Puede representar una tema de un foro, un artículo de un periódico o una entrada de un blog entre otros.

    <aside>

    Esta etiqueta se usa para identificar contenido aparte del contenido en el que se enmarca, pero con el que está relacionado. Veamos un ejemplo:

    Leer más » 2 Comentarios

    Buscar un elemento por su contenido con jQuery

    Los selectores de jQuery son una herramienta potente y flexible como pocas en el desarrollo web. Su sintaxis basada en CSS facilita enormemente la labor, hacer todo a base de document.getElementById es muy duro. Sin embargo hay veces que queremos elegir elementos no por su identificador, ni por su clase, ni por su nombre, ni siquiera por un atributo que hayamos rellenado aparte, sino por su contenido.

    Para esta labor tenemos el selector :contains. Veamos ejemplos que es la mejor forma de aprender su uso. Tened en cuenta sólo una cosa, :contains nos devolverá todos los elementos cuyo texto interno contiene en alguna parte la cadena que le pasemos. Otro detalle a tener en cuenta: sí es sensible a mayúsculas.

    Veamos:

    • $(‘:contains(“Mi texto”)’): reconocerá cualquier elemento del texto que incluya en alguna parte “Mi texto”, respetando mayúsculas y minúsculas.
    Leer más » 2 Comentarios

    Desactivar autocompletado en formularios HTML

    Cuando estamos trabajando con formularios en la web, es muy común que por comodidad del usuario, el navegador incorpore algunos datos que son repetitivos entre ellos: nombre, apellidos, dirección de correo electrónico, etc. La idea es facilitarle la vida al usuario y hacer más rápido el uso del formulario.

    Sin embargo, en ocasiones, desearemos que no se produzca dicho autocompletado. Por ejemplo, la web de un banco, un nombre de usuario en una plataforma, o algo susceptible de ser usado de forma malintencionada.

    Para desactivar el autocompletado, disponemos del atributo autocomplete. Veamos un ejemplo de uso, lo incorporamos directamente en el formulario:

    <form autocomplete="off">

    O más concretamente al input en cuestión si queremos afinar en cada entrada de texto:

    <input autocomplete="off">

    Sin embargo hay un problema: no valida en los test del W3C. Para solventarlo, tenemos varios métodos, el más sencillo es el siguiente que lo he implementado usando jQuery:

    Leer más » 5 Comentarios

    Manejo de listas select con jQuery (ComboBox/DropDownList)

    jQuery es un framework cuyo uso se hace casi inevitable para todos aquellos que usamos de forma intensiva JavaScript. El manejo de las listas de elementos en un sitio web, con la etiqueta <select>, es algo básico en el manejo de datos presentados en formularios.

    De cara a validar, gestionar, editar, insertar… es decir, hacer todo tipo de operaciones con los datos en el cliente, necesitamos de JavaScript pero su uso es tedioso. jQuery lo hace simple e inmediato. Veamos el caso concreto del manejo del <select>.

    Veamos, tenemos el siguiente listado en un sitio, vemos el código directamente en HTML:

    <select id="miselect">
     <option value="1">Ubuntu</option>
     <option value="2">Fedora</option>
     <option value="3">Red Hat</option>
     <option value="4">Debian</option>
    </select>

    Para cada elemento tenemos dos datos:

    • El texto que se muestra: suele ser algo visible para el humano, un nombre de distribución en este caso
    • El valor: suele ser un identificador único, en este caso es una referencia ficticia a una tabla de distribuciones

    Comencemos a tratarlo.

    Seleccionar el elemento

    La sintaxis de los selectores de jQuery está basada en la de CSS. En este caso elegir el <select> dentro del DOM del documento sería como sigue:

    $("#miselect")

    Obtener el valor del ítem seleccionado

    Sobre el selector aplicamos la función val():

    Leer más » 35 Comentarios

    Comprobar si una variable u objeto es un entero en JavaScript

    Probablemente hayas echado de menos alguna vez en JavaScript una función isInt(), es decir, que le pases una variable y te devuelva verdadero si es entero y falso en caso contrario. Esta comprobación es muy típica en el envío de formularios: edades, componentes de una fecha o cualquier otra cantidad que no puede tener decimales.

    Acabo de tener esta necesidad y aquí os traigo la función que hace justo esto:

    function esEntero(x){
    	var y = parseInt(x);
    	if (isNaN(y)) 
    		return false;
    	return x == y && x.toString() == y.toString();
    }

    Aquí tenéis la función y aquí os dejo su correspondiente explicación, odio copiar y pegar código de Internet si no sé perfectamente cuál es el por qué de cada sentencia.

    Leer más » 9 Comentarios