Yii2, haciendo filtrado y ordenamiento con atributos virtuales de un modelo ActiveRecord

Hace unos días, expliqué en un artículo anterior, cómo agregar atributos virtuales (que no están en la BD) a un modelo ActiveRecord en Yii2, Pero al mostrar el listado de registros generado por GridView, los nuevos campos (virtuales) no aparecen con las opciones de ordenar o filtrar la lista por ellos, como en el siguiente ejemplo: Para solucionarlo hay que modificar el modelo de búsquedas respectivo, que normalmente lleva el mismo nombre de la clase…

Continuar leyendo

Yii2, agregando un atributo (virtual) que no está en la base de datos, a un modelo ActiveRecord

Para este ejemplo asumiré que existe una tabla en la BD llamada cliente, con los campos (siendo id el PK): id, nombre, apellido, fecha_nacimiento, email. La SQL necesaria para crear esta tabla sería: CREATE TABLE `yii2`.`cliente` ( `id` INT NOT NULL AUTO_INCREMENT COMMENT ‘ID’ , `nombre` VARCHAR(128) NOT NULL COMMENT ‘Nombre’ , `apellido` VARCHAR(128) NOT NULL COMMENT ‘Apellido’ , `fecha_nacimiento` DATE NOT NULL COMMENT ‘Fecha de Nacimiento’ , `email` VARCHAR(128) NOT NULL COMMENT ‘Email’ , PRIMARY…

Continuar leyendo

Yii 2 Base Template

[Únicamente para programadores Yii 2 experimentados] Se trata de un template del Framework de Yii v2, que se basa en la Basic Application Template de Yii 2, pero que elimina el código de las funcionalidades básicas implementadas, con el fin de usarlo como base para proyectos desde cero. El código está publicado en GitHub: https://github.com/donpool/yii2-base Si no tienes Composer, puedes instalarlo siguiendo las instrucciones disponibles en getcomposer.org. Entonces ya puedes instalar esta plantilla base de proyecto…

Continuar leyendo

Cómo: Usar Eclipse IDE con Subversion para desarrollo PHP con control de versiones

He usado Zend Develpment Environment desde hace unos 5 años para el desarrollo de software, las nuevas versiones se volvieron cada vez más (demasiado?) sofisticadas para mi gusto y empezaron a volverse muy restrictivas en cuanto al licenciamiento de uso, así como a implementar/requerir diferentes plataformas/versiones de algo que debería ser simple y sencillo y que ellos lo empezaron a complicar con servers, debuggers, plattforms y más y más cosas. Por otro lado los costos…

Continuar leyendo

Corregir errores `ereg is deprecated` en PHP 5.3

Desde principios de noviembre del año pasado (2010/11/10) tenemos ya disponible RedHat 6 (seguimos esperando por CentOS 6) que trae PHP 5.3.2, serie (5.3.x) con la cual ya hemos estado trabajando en nuestras plataformas de desarrollo (Fedora) desde hace poco más de un año, justamente para buscar estar preparados para los casos que ya hemos empezado a experimentar: He actualizado mi servidor Linux (de RedHat/CentOS 5 a RedHat/CentOS 6) y al menos una de mis…

Continuar leyendo

Ya está disponible Joomla 1.6 Stable !!!

Como estuvo anunciado con anteriorida, hoy salió al aire la nueva, última y según dicen, mejor versión de Joomla! hasta el momento. Yo la he estado probando desde la RC1 (Release Candidate 1) y la ví muy buena. Joomla 1.6 mayormente implementa una característica solicitada por muchos (quizá me atrevería a decir, la gran mayoría) de nosotros durante años: El manejo extendido de usuarios y la posibilidad de manipularlos más allá del esquema pre-establecido de…

Continuar leyendo

Cómo: Implementar un servidor para Control de versiones con Subversion en CentOS 5.

Desde hace tiempo he tenido la intención de aprender a usar algún sistema de control de versiones para los proyectos y por fin decidí hacerlo. Escogí Subversion por ser el más actual y de más amplia utilización. Pero antes de poner manos a la obra veamos algo de teoría: Introducción. SubVersion es un sistema de control de versiones, cuyo cometido es administrar el acceso a un conjunto de ficheros, y mantener un historial de cambios realizados. El…

Continuar leyendo

Subir archivos desde el cliente con PHP

En ocasiones nos interesa que un usuario transfiera archivos a nuestro servidor. Pensemos por ejemplo en una aplicación de comercio electrónico, cuyos artículos se gestionan desde el navegador. Es probable que necesitemos introducir una fotografía del producto. ¿Cómo enviamos los archivos al servidor? Para subir archivos al servidor, necesitamos incluir un campo de tipo FILE en nuestro formulario. También es recomendable incluir el tipo de codificación «multipart/form-data». Por último el parámetro ACTION del formulario apuntará…

Continuar leyendo

Importar datos CSV en aplicaciones PHP

Introducción Una de las tareas más frecuentes en programación de aplicaciones web de mediano/alto calado, es la importación de datos de CSV (comma-separated values o valores separados por comas) que profusamente se  usan en el traslado de información entre sistemas de almacenamiento heterogéneos. De un caso de la vida real, digamos que cierta empresa requiere publicar en su sitio web la información de las planillas de consumo para sus clientes. Esta información se encuentra almacenada…

Continuar leyendo