Posts etiquetados ‘CodeIgniter’


You can read the English version of this post in http://phpsblog.agustinvillalba.com/hmvc-modular-applications-codeigniter/

Hoy vamos a hacer una introducción a la modularización de aplicaciones en el framework CodeIgniter, utilizando para ello la extensión HMVC (Hierarchical Model View Controller o Modelo Vista Controlador Jerárquicos), de forma que nuestra aplicación gana en flexibilidad y podemos paralelizar el desarrollo entre varios desarrolladores una vez los módulos han sido diseñados, con el valiosísimo tiempo que ganamos.

Instalando HMVC en CodeIgniter

Lo primero que necesitamos para modularizar nuestra aplicación es descargarnos la extensión HMVC. Una vez la hemos descomprimido, nos encontramos con 2 carpetas:

core

third_party

colocamos la carpeta third_party (tal cual) dentro de la carpeta application de nuestra aplicación CodeIgniter. La ubicación final de la carpeta core dependerá de la versión de CodeIgniter que tengamos instalada. Por lo tanto, el contenido de la carpeta core irá en:

Si tenemos CodeIgniter 2.0

application/core

Si tenemos CodeIgniter 1.7.2

colocaremos el contenido de la carpeta core (3 archivos) dentro de la carpeta application/libraries
(más…)

Anuncios

You can read the English version of this post in http://phpsblog.agustinvillalba.com/javascript-css-minified-carabiner-codeigniter/

Hoy vamos a hablar de una potente librería disponible para el framework CodeIgniter, es: Carabiner. Esta librería nos permite incluir de forma específica para cada vista de nuestro sitio los archivos JavaScript y CSS que son necesarios, ahorrándonos tener que incluirlos todos, y además, los envía al usuario en un único archivo “.js” y “.css” con todos los que hemos ido incluyendo pero minimizados, con lo que el tamaño del “.js” y “.css” que se envía al usuario es mucho menor, con la consiguiente mejora de tiempo de carga del sitio que ello implica.

Instalando Carabiner en nuestro proyecto

Lo primero para instalar Carabiner en nuestro proyecto es descargarlo, podemos hacerlo desde su hilo en el foro de CodeIgniter. Para instalarlo simplemente hemos de colocar los archivos carabiner.php, cssmin.php y jsmin.php en el directorio /application/libraries de nuestro proyecto. Una vez hecho esto, hemos de colocar el archivo de configuración carabiner.php en el directorio application/config. En este archivo hemos de especificar la ruta de los directorios que contendrán nuestros archivos “.js” y “.css”.
(más…)


You can read the English version of this post in http://phpsblog.agustinvillalba.com/upload-progress-bar-in-codeigniter-without-flash/

Hoy vamos a ver cómo podemos crearnos una barra de progreso de subida de archivos en CodeIgniter sin la necesidad de recurrir a librerías o plug-ins hechos en Flash (del tipo SWFUpload, etc) que escapan a nuestro control, dado que habitualmente estas librerías nos ofrecen los archivos .swf ya compilados, por lo que nos es imposible modificar nada en ellos, en el caso de que tengamos conocimientos de programación en ActionScript 2 o 3.

Antes que nada hemos de decir que crear una barra de progreso de subida de archivos en PHP no es tan sencillo como pudiera parecer. El primer problema es que las versiones de PHP anteriores a la 5.2 no ofrecen las herramientas necesarias para poder ofrecer información sobre cómo la subida del archivo en cada momento. El segundo problema es que AJAX, por sí solo, no nos permite consultar el estado de la subida del archivo, dado que, por razones de seguridad obvias, JavaScript no tiene acceso a los archivos del sistema operativo del cliente, por lo que necesitaremos un “truco” utilizando un iframe.

(más…)


You can read the English version of this post in http://phpsblog.agustinvillalba.com/swfupload-codeigniter/

En esta entrada vamos a explicar un poco qué es y cómo podemos utilizar la librería SWFUpload en nuestra aplicación hecha con el framework php CodeIgniter para que nuestros usuarios puedan subir sus archivos a la aplicación de una forma elegante y muy visual, y todo ello combinado con la seguridad y facilidad que nos ofrece CodeIgniter para la subida de archivos al servidor.

Qué es SWFUpload

SWFUpload es una librería que permite a los usuarios de nuestro sitio subir archivos al servidor, mediante la combinación de Flash y JavaScript. Aquí pueden ver unos ejemplos de uso de la librería.

Integrando SWFUpload en CodeIgniter

Lo primero que necesitamos para integrar la librería es, lógicamente, descargarla. Necesitaremos descargarnos el archivo de “core” y los “samples”. Una vez la tenemos descargada y descomprimida, crearemos una carpeta en el directorio raíz de nuestra aplicación CodeIgniter llamada swf/, y dentro de esta a su vez crearemos otra llamada swfupload/, de tal forma que la ruta a nuestra librería SWFUpload es /swf/swfupload/. En este último directorio colocaremos los archivos “swfupload.swf” y “swfupload_fp9.swf” (este último para los usuarios con Flash Player 9) que encontraremos en la carpeta del “core”. Bien con esto tenemos los swfs en su sitio.
(más…)


You can read the English version of this post in http://phpsblog.agustinvillalba.com/sending-forms-ajax-codeigniter/

Hoy vamos a explicar cómo podemos enviar un formulario por AJAX utilizando jQuery en CodeIgniter, de tal forma que evitamos que se recargue toda la página, dando un aspecto de aplicación de escritorio a nuestra aplicación web, pudiendo realizar determinadas acciones sin necesidad de recargar toda la vista del usuario.

Creando el formulario

Lo primero que necesitamos es crear nuestro formulario. En este caso vamos a crear un formulario genérico, en el que intentaremos añadir diversos tipos de campos para hacer el ejemplo más completo, pero funcionalmente no es muy útil, todo sea por la didáctica… Así que en nuestro archivo de vista de CodeIgniter añadimos el siguiente código:
(más…)


You can read the English version of this post in http://phpsblog.agustinvillalba.com/imageflow-codeigniter/

En esta ocasión voy a explicar cómo incluir la librería JavaScript llamada ImageFlow dentro del framework CodeIgniter y conseguir que funcione a la primera ¡lo cual no es fácil! A continuación explicaré unas pequeñas modificaciones en el código de la librería. Luego veremos un ejemplo de código de inlcusión y por último veremos el módulo PHP necesario para el correcto funcionamiento. Pero primero qué es la librería ImageFlow y para qué sirve.

Qué es ImageFlow y para qué sirve

ImageFlow es una librería JavaScript que nos permite añadir una galería de imágenes realmente elegante en nuestro sitio web de una forma muy sencilla, dándole un aspecto Flash sin los inconvenientes que esa tecnología puede acarrear. De esta forma podemos mostrar nuestra galería de imágenes cómo deseemos, dado que tiene un gran número de parámetros de configuración, para darle el aspecto y comportamiento que más nos guste o convenga a nuestro sitio. Pero dejémonos ya de hablar y vamos a lo importante, la integración en CodeIgniter. (más…)


You can read the English version of this post in http://phpsblog.agustinvillalba.com/phpmailer-codeigniter/

En un post anterior hablé sobre cómo utilizar la librería PHPMailer para enviar correos electrónicos desde nuestro sitio web sin necesidad de tener nuestro propio servidor de correos corriendo en la máquina. En esta ocasión vamos a ir un poco más allá y explicaré cómo integrar esa librería en nuestro proyecto CodeIgniter y no morir en el intento.

Lo primero que hemos de hacer, si no lo hemos hecho ya, será descargarnos la librería. Una vez tenemos la librería la descomprimimos, renombramos la carpeta con el nombre PHPMailer y la movemos a la carpeta /system/application/libraries de nuestra aplicación CodeIgniter. Una vez hecho esto, ya podemos comenzar a implementar nuestra propia librería, la cual se encargará de hacer la inclusión de PHPMailer en nuestra aplicación. Para ello hemos de crear un nuevo archivo PHP en el directorio application/libraries llamado my_phpmailer.php. En él escribiremos el siguiente código: (más…)