jQuery en Zend Framework sin la API Google

El Framework de Zend ofrece la possibilidad de ampliar sus funcionalidades con las del framework de JavaScript jQuery (empezó con http://www.dojotoolkit.org/, pero la integración con jQuery ya está bastante avanzada).

El principal problema que podemos tener al empezar a utilizar estas nuevas características es que por defecto el framework carga los archivos .js de la API de Google. Esto puede ser beneficioso en algunos casos, pero si estamos acostumbrados a una versión determinada de jQuery (o de sus plugins para la interfaz de usuario como es jQuery-UI) quizás queremos cargarla nosotros mismos de nuestro servidor.

El método para determinar desde que ruta local queremos cargar los .js es el setLocalPath() (setUiLocalPath() para jQuery-UI) pero si no queremos realizar esta tarea para todas las acciones que programemos tenemos la siguiente alternativa.

ATENCIÓN: Esea método puede no ser el más correcto, puede que haya un sistema mucho más óptimo de realizar estos cambios, pero en nuestro caso no hemos encontrado un buen sistema centralizado para cambiar el origen de los archivos .js de la API de Google al servidor local.

Para garantizar que los archivos que se van a cargar de jQuery son los de nuestro servidor debemos tenerlos bien localizados. En nuestro caso estarán en la carpeta /js dentro de la carpeta /public (que es donde apunta el document root de nuestro servidor, original eh!?).

Una vez localizados sólo debemos encontrar el archivo Container.php dentro de la carpeta /library/ZendX/JQuery/View/Helper/JQuery i editarlo. Dónde nos encontremos esta línea:
protected $_jqueryLibraryPath = null;Debemos poner la ruta a nuestro archivo .js de jQuery:
protected $_jqueryLibraryPath = '/js/jquery-1.3.2.min.js';Si también vamos a utilizar la extensión UI debermos hacer lo mismo con la línea siguiente:
protected $_uiPath = null;La debemos cambiar por la de nuestro archivo .js de la UI:
protected $_uiPath = '/js/jquery-ui-1.7.1.custom.min.js';
Si sabeis un método mejor, adelante! ;)

2 thoughts on “jQuery en Zend Framework sin la API Google

  1. Hola Xavi, mira antes que nada te digo que no soy ningun experto en Zend Framework, apenas he hecho algunas cosas.
    Mi opinion es que Zf como framework para php es una gran cosa, ahora cuando se mete en la vista, joderse (zend form, zendx_jquery, etc.).
    Soy uno de los tantos que trato de hacer un formulario decente con zend form (formulario de un renglon sin molestos espacios, etc.) y desistio al borde de la desesperacion.
    Yo utilizo ZF pero los formularios como siempre y jquery como dios manda y duermo tranquilo.
    Saludos desde Montevideo – Uruguay.

  2. Hola Daniel,

    En el equipo de la empresa también tuvimos nuestros momentos de debilidad cuando intentábamos (sin éxito) crear formularios sin los tags HTML que el Zend Framework pone por defecto. El único motivo que nos hizo seguir adelante con esta pequeña “quimera” fueron las posibilidades de validar y filtar los campos que conlleva la utilización del módulo Zend_Form.

    Es verdad que para realizar un pequeño formulario es mucho más fácil recurrir al form normal y insertar jQuery como en cualquier otra página, pero en el momento de realizar el mantenimiento de esta aplicación te aseguro que se agradece un montón el esfuerzo de construir los formularios con el framework.

    Aunque quizás ya sea tarde, te animo a que te pongas un poco más a fondo con el tema de los formularios y el framework porqué luego la vida se hace más sencilla ;)

    Saludos!

Leave a Reply

Your email address will not be published. Required fields are marked *