Jueves, 10 de Diciembre, 2009
Cuando tenemos un error conectando o realizando operaciones con la base de datos (MySQL) usando CodeIgniter, lo normal es que el sistema nos muestre un mensaje por defecto con el código, descripción y query ejecutado, tal que así:

Esta página de error se puede personalizar editando la plantilla /errors/error_db.php en nuestra carpeta de la aplicación. El problema es que este mensaje se mostrará en lugar de nuestra vista o en medio de ella, y además se mostrará siempre a menos que desactivemos la opción de debug de la base de datos, y si lo hacemos nuestra aplicación fallará silenciosamente, no tenemos forma de capturar este error y realizar las operaciones que nos convengan, lo cual sería especialmente útil cuando hacemos peticiones ajax.
Para solucionar esto existen dos métodos no documentados en la clase DB que nos permite capturar el mensaje de error y el número:
$this->db->_error_message() y $this->db->_error_number().
Leer el resto de la entrada »
Archivado en CodeIgniter, Desarrollo Web, PHP | 4 comentarios »
Martes, 24 de Noviembre, 2009
Para terminar la serie de screencasts sobre CodeIgniter voy a mostraros algunos componentes interesantes que tiene el framework, como el scaffolding para hacer CRUD y las librerías benchmark y unit testing. Estas librerías son muy útiles cuando desarrollemos aplicaciones complejas en las que necesitemos medir el rendimiento y hacer pruebas unitarias, y nos pueden ayudar a depurar errores y encontrar bloques que necesitemos optimizar. Sobre el scaffolding, es conveniente utilizarlo sólo en la fase de desarrollo, ya que el uso de la palabra secreta no proporciona la seguridad suficiente para poder usarlo en producción.
Podéis encontrar el resto de screencasts en la página de videotutoriales, o suscribiros al podcast de iTunes.
Leer el resto de la entrada »
Archivado en CodeIgniter, Desarrollo Web, PHP, Screencasts | 7 comentarios »
Miércoles, 7 de Octubre, 2009
A pesar del buen feedback recibido sobre mi serie de tutoriales de CodeIgniter, los artículos sobre menús animados con CSS y javascript siguen siendo los más populares en este sitio, y parece que son bastante útiles para la gente que está empezando. Por ello hoy me tomo un pequeño respiro de los videotutoriales y voy a enseñaros cómo hacer el clásico menú vertical en acordeón con CSS y jQuery.
El resultado lo puedes ver aquí: Ver demo
Leer el resto de la entrada »
Archivado en CSS, Desarrollo Web, Diseño Web, jQuery | 112 comentarios »
Viernes, 25 de Septiembre, 2009
En este screencast voy a mostraros un sencillo ejemplo de cómo utilizar jQuery para cargar contenido mediante ajax en CodeIgniter. El código está basado en el ejemplo del primer video “Introducción a CodeIgniter”, así que os recomiendo que le echéis un vistazo primero si no lo habéis hecho ya. Vamos a modificar ese código para que liste sólo los títulos de las entradas, y al hacer click en un título se cargue debajo el contenido de la entrada.
Este es el tercer videotutorial de la serie CodeIgniter, podéis encontrarlos todos en la página de screencasts, o suscribiros al podcast de iTunes.
Leer el resto de la entrada »
Archivado en CodeIgniter, Desarrollo Web, PHP, Screencasts | 30 comentarios »
Miércoles, 16 de Septiembre, 2009
Hace unos días se liberó la versión 1.7.2 de CodeIgniter, que podéis descargar aquí. Sus principales mejoras, además de un buen número de bugs corregidos, son:
- Compatibilidad con PHP 5.3.0.
- Añadida la clase Cart Class.
- Ciertas mejoras en el Form helper.
- Añadida función is_php() para comparar versiones de PHP.
- Modificada la función show_error() para permitir enviar códigos de respuesta HTTP.
Lo más interesante que veo es la compatibilidad con PHP 5.3 (sobre todo desde que MacOS X Snow Leopard viene con esta versión de serie), y la nueva clase Cart. Esta clase es útil para programar una tienda virtual, ya que proporciona una interfaz sencilla para crear y actualizar un carrito de la compra. Aunque ya se rumoreaba desde hace tiempo que se iba a incluir esta clase, se esperaba para la versión 2.0, ya que es raro que introduzcan librerías nuevas en versiones menores.
Cuando tenga un hueco espero en breve seguir con mi serie de video tutoriales de CodeIgniter.
Archivado en CodeIgniter, Desarrollo Web | No hay comentarios »
Jueves, 20 de Agosto, 2009
En este video tutorial voy a enseñaros cómo crear formularios en CodeIgniter con ayuda del helper form y validarlos de manera sencilla mediante la librería form_validation.
Este es el segundo videotutorial de la serie CodeIgnitor, podéis encontrarlos todos en la página de screencasts, o suscribiros al podcast de iTunes.
Leer el resto de la entrada »
Archivado en CodeIgniter, Desarrollo Web, PHP, Screencasts | 42 comentarios »
Martes, 11 de Agosto, 2009
Anoche me publicaron en el blog de Themeforest un artículo que envié hace unas semanas sobre SEO (en inglés). Este consiste en una serie de consejos básicos y herramientas que deberíamos usar para optimizar nuestras páginas con el fin de obtener una mejor posición en los buscadores. Aquí lo tenéis:
20 SEO Tips That Every Web Developer Should Follow
Para el que no lo conozca, Themeforest es un marketplace en el que los autores pueden vender sus plantillas web y temas de diversas plataformas (wordpress, drupal, …).
Archivado en Desarrollo Web, Marketing & SEO | 11 comentarios »
Sábado, 8 de Agosto, 2009
Hoy os presento mi primer videotutorial (screencast) sobre el framework MVC de PHP CodeIgniter. Existen cantidad de recursos en inglés sobre este framework, pero casi nada en español, así que he grabado esta breve introducción para demostrar su potencia y sencillez.
Leer el resto de la entrada »
Archivado en CodeIgniter, Desarrollo Web, PHP, Screencasts | 28 comentarios »
Jueves, 9 de Julio, 2009
Tras el inesperado éxito de mi artículo Menú animado con CSS y jquery, me he decidido a escribir un nuevo tutorial sobre creación de menús: cómo hacer un menú horizontal animado desplegable con CSS y jquery. Cada elemento del menú horizontal contendrá un submenú vertical que se desplegará con una animación. A su vez, al pasar el ratón sobre cada entrada del submenú éste cambiará de color de forma gradual. El resultado lo puedes ver aquí: Ver demo
Leer el resto de la entrada »
Archivado en CSS, Desarrollo Web, Diseño Web, jQuery | 47 comentarios »
Jueves, 2 de Julio, 2009
La larga cola, al contrario de lo que muchos estáis pensando, no tiene nada que ver con el porno. En realidad es un término utilizado para definir una estrategia de negocio muy popular en internet basada en un patrón de compras definido por una ley de potencia o principio de pareto (también conocido como ley del 80/20). En la gráfica, la zona verde indica los artículos más populares, mientras que la zona amarilla es la larga cola: una gran cantidad de artículos con una baja probabilidad de venta. Es decir, el 20% de los artículos se venden individualmente un 80% más que cualquiera perteneciente al 20% restante. Se tiende a pensar que conviene centrarse en ese 20% de artículos de mayor venta, sin embargo está demostrado que la suma de los artículos contenidos en la larga cola generan más del 50% del volumen de ventas total. Un claro ejemplo de empresa orientada hacia este modelo de negocio es Amazon, en la cual se estima el 57% de sus ventas de libros no son de best-sellers.
En este artículo de Kevin Kelly se cuenta cómo este sistema afecta negativamente a los artistas individuales, ya que la gran mayoría de estos se encuentran dentro de la larga cola y no generan suficientes ingresos para vivir. La solución que da para escapar de la larga cola es adquirir y mantener 1000 “fans verdaderos”: fans incondicionales que compren cualquier cosa que el artista produzca.
Aplicando el concepto de la larga cola al diseño de una web, debemos optimizar y mejorar las páginas donde sumado se obtiene mayor tráfico de visitas, como las categorías, productos, etc. en lugar de dedicarle mas tiempo a la página de inicio, que recibe menos hits sobre el total.
Desde el punto de vista del SEO se puede aplicar este modelo utilizando largas frases de palabras clave (conteniendo 5 o más palabras por frase). De esta manera se genera menos tráfico pero ratios de conversión mas altos, es decir mayor número de ventas por usuarios únicos.
Archivado en Marketing & SEO | 3 comentarios »