Problemas al cargar jquery4php-assets en zf 1.12

29 views
Skip to first unread message

Wilmer

unread,
May 22, 2013, 6:21:31 PM5/22/13
to jquer...@googlegroups.com
Hola:

Disculpas, pero este tema me tiene preocupado, talves no corresponde la consulta aqui pero tengo un problema que no he podido solucionar al integrar jquery4php-assets que se encuentra en la carpeta public de mi proyecto.

Tengo un proyecto en desarrollo, en el Layout carga la libreria:

echo YsConfigAssets::includeAssets("*") // jquery and jquery-ui (.js and .css) //cargo todos los componentes

En el bootstrap registro el jquery4php esto para no cargarlo en cada controlador

protected function _initPlugins(){
        $front = Zend_Controller_Front::getInstance();
        $front->registerPlugin(new \Application\Helpers\Aclwh(),1);
}

protected  function  _initview(){
       Zend_Loader::loadClass('YsJQueryAutoloader', '../library/YepSua/Labs/RIA/jQuery4PHP');
       YsJQueryAutoloader::register();       
}

Cuando ingreso a mi proyecto "http://miproyecto:81/modulo" no hay problema, pero cuando ingreso a "http://miproyecto/modulo/controlador" zend carga todos los componentes del xml de jquery4php y me arroja un error por cada componente y me dice que "jquery4php-assets no es un controlador válido"

Otra aclaracion, tengo el el preDispatch de cada controlador algo asi:

    public function preDispatch() {
        $auth = Zend_Auth::getInstance();
        $status = Application\Helpers\Help::getAcl($this->getRequest()->getModuleName(),$this->getRequest()->getControllerName());
        if (! $auth->hasIdentity() ) {
            return $this->_redirect('/login');
        }
        if(!$status){
            return $this->_redirect('/denied');
        }
    }
si comento la linea de $status y la condición de !$status, no tengo errores, po lo que puedo llegar a la conclusion de que existe conflicto entre el plugin que se carga por primera ves para el acl y la carpeta jquery4php-assets, y la verdad no tengo idea de cómo solucionarlo.

Si por ahi me dan un amano lo agradeceré.

oyepez003

unread,
May 22, 2013, 6:48:59 PM5/22/13
to jquer...@googlegroups.com
Hola Wilmer.

Creo que esto tiene que ver mas con Zend (.htaccess) que con jQuery4PHP y ACL.

Lo que creo es que Zend esta interpretando la ruta de los assets como un cotrolador... lo que no deberia ser asi.

No soy experto en Zend pero me imagino que ese framework debe tener una carpeta publica en donde colocar los recursos .js, .css, imagenes etc...

por ejemplo en el caso de Symfony es la carpeta /web dentro del proyecto.

Mi recomendacion aqui es que ubiques los assets de jQuery4PHP en la carpeta de publica de Zend y modifiques el archivo assets-default-config.xml que trae jQuery4PHP en la ruta: /YepSua/Labs/CommonUtil/

Si quieres puedes crear otro archivo con el nombre que tu quieras y en cualquier otra ruta pero debes pasar su ubicacion como segundo parametro asi:

YsConfigAssets::includeAssets("*","/la/ruta/al/archivo.xml");

Por dfecto el archivo assets-default-config.xml tiene los recursos en la carpeta "jquery4php-assets" si por ejemplo Zend utiliza una carpeta llamada

web/resources entonces copia ahi la carpeta jquery4php-assets y en el archivo de configuracion que creaste tambien coloca esa nueva ruta.

algo asi como:

<asset id="jquery">
<script type="text/javascript" src="/web/resources/jquery4php-assets/js/jquery.js"></script>
</asset>

Creo que ese puede ser el problema y quizas la solucion, si no funciona por aqui estaremos.

Saludos.

Wilmer

unread,
May 23, 2013, 11:00:29 AM5/23/13
to jquer...@googlegroups.com
Muchas gracias por tu respuesta, me interesa usar jquery4php, realizare las pruebas y comento.

Muchas gracias

Wilmer

unread,
May 28, 2013, 10:58:34 AM5/28/13
to jquer...@googlegroups.com
Hola como estan:

Contitnuo intentando integrar jquery4php a mi proyecto de Zend Framework 1.12, realice lo sugerido pero me esta saliendo este error:

<b>Warning</b>:  simplexml_load_file(): I/O warning : failed to load external entity &quot;/resource/assets.xml&quot; in <b>C:\xampp\htdocs\bcbtram\library\YepSua\Labs\CommonUtil\YsConfigAssets.php</b> on line <b>91</b><br />
<br />
<b>Fatal error</b>:  Call to a member function children() on a non-object in <b>C:\xampp\htdocs\miproyecto\library\YepSua\Labs\CommonUtil\YsConfigAssets.php</b> on line <b>92</b><br />

Ahora, siguiendo la sugerencia de oyepez003 puse el xml en /Miproyecto/public/resources/assets.xml y llamo desde el layout asi

echo YsConfigAssets::includeAssets('*','/resource/assets.xml');


puesto que index se encuentra en la carpeta public, si pudieran colaborarme

oyepez003

unread,
May 28, 2013, 12:21:14 PM5/28/13
to jquer...@googlegroups.com
Hola Wilmer.

El problema es que no esta encontrando el archivo en la ruta que le estas pasando

Te recomiendo que pases una ruta absoluta "C:/ruta/a/la/carpeta.xml" para probar,
si pasas una ruta relativa debes tomar en cuenta el directorio donde se encuentra el  archivo YsConfigAssets.php y no donde estas llamando al metodo includeAssets().

Tambien puedes ayudarte con la funcion dirname(__FILE__)que devuelve la ruta donde estas parado.
algo asi:

echo YsConfigAssets::includeAssets('*', dirname(__FILE__) . '/resource/assets.xml');

Saludos cordiales.

Wilmer

unread,
May 28, 2013, 1:47:07 PM5/28/13
to jquer...@googlegroups.com
Uff

Amigo no sabes cuanto te lo agradesco, ahora empiezo con jquery4php e imagino tendré muchas consultas que espero puedas colaborarme

Mil gracias

oyepez003

unread,
May 28, 2013, 2:18:27 PM5/28/13
to jquer...@googlegroups.com
De nada, por aqui estaremos.

jQuery4PHP se adapta facilmente a cualquier framework PHP pero al que esta mas adaptado es a Symfony2

Mira aqui el showcase de la integracion Sf2 - Twig y jQuery4PHP:


Asi que quizas mas adelante te interese trabajar son Sf2.

Saludos.
Reply all
Reply to author
Forward
0 new messages