Terracom_Progr Posted August 12, 2016 Share Posted August 12, 2016 Bueno estoy con mi primer módulo y no consigo que una vez instalado al arrancar añada o modifique. Bien que añada javascript o que modifique un evento click en un div determinado. Pruebas que he hecho sin resultado en el tpl del módulo {literal} <script src="https://code.jquery....ry-1.9.1.min.js"></script> $( document ).ready(function() { alert('ready funciona ya'); }); $( window ).load(function() { alert('load funciona ya'); }); </script> {/literal} en el archivo js del módulo <script> $(document).ready(function() { $('.img-responsive').click(function(){ alert('click funciona'); } } </script> Alguien podría darme una orientación? Link to comment Share on other sites More sharing options...
ventura Posted August 12, 2016 Share Posted August 12, 2016 Deberias revisar la documentacion oficial al respecto de crear modulos http://doc.prestashop.com/display/PS16/Displaying+content+on+the+front+office Alli encontraras informacion de como y donde añadir los contenidos css y js asociados al modulo. La libreria de jquery ( v 1.11) se carga de manera global en todo el frontoffice de manera predeterminada Link to comment Share on other sites More sharing options...
Terracom_Progr Posted August 18, 2016 Author Share Posted August 18, 2016 Buenas, he estado tratando de seguir la documentación pero hay cosas que no termino de entender. En joomla por ejemplo hay plugins que en el momento de la carga "modifican" en ejecución los templates. ¿cómo logro eso? ¿cómo consigo que cuando clique sobre un producto se ejecute/modifique código? ¿Es posible hacerlo sin modificar directamente el template? En el módulo el tpl del front no hace nada y en js tampoco veo que haga nada. ¿Será problema de la estructura? Algo me falta y no sé lo que es. Link to comment Share on other sites More sharing options...
jgamio Posted August 22, 2016 Share Posted August 22, 2016 Ok ahora te respondo la misma pregunta leyendo lo que hiciste primero No necesitas un modulo para todo depende de lo que desees hacer, muchas veces no queda otra que modicar la plantilla Para agregar un jquery puedes hacerlo en js del producto, Pero supongamos que deseas usa modulo y cargar un jquery que funcione en la pantalla del producto, necesitas usar los hooks por ejemplo puedes usar un hook del header para que agregue tu js en el encabezado solo cuando este en la pantalla del producto Prestashop ya tiene integrado el jquery asi que necesitas cagarlo otra vez Link to comment Share on other sites More sharing options...
Terracom_Progr Posted August 22, 2016 Author Share Posted August 22, 2016 "Para agregar un jquery puedes hacerlo en js del producto, Pero supongamos que deseas usa modulo y cargar un jquery que funcione en la pantalla del producto, necesitas usar los hooks por ejemplo puedes usar un hook del header para que agregue tu js en el encabezado solo cuando este en la pantalla del producto." Esto es exactamente lo que preguntaba si era posible. Entonces ¿sería algo así? public function hookDisplayHeader() { $this->context->controller->addJS($this->_path.'/Miarchivo.js'); } La cosa es que me lo hacía en el backoffice. Quizá el problema esté en que debía hacerlo en el tpl del front. Pero no lo estoy haciendo bien porque no hace nada. (Está puesto para que fuerce la compilación.) Link to comment Share on other sites More sharing options...
jgamio Posted August 22, 2016 Share Posted August 22, 2016 ok seria algo asi primero debes declarar en tu modulo que hooks utilizas al instalarlo dentro de install if (!parent::install() || !$this->registerHook('header') ) return false; return true; } Sino instalas el hook con el modulo nunca te lo va ejecutar Luego en la funcion que ejecuta el hook public function hookHeader($params){ $this->context->controller->addJS(($this->_path).'tuscript.js', 'all'); } Link to comment Share on other sites More sharing options...
Terracom_Progr Posted August 24, 2016 Author Share Posted August 24, 2016 ok más o menos tenía una idea pero necesitaba saber que iba por buen camino. No estaba en el hook correcto. Gracias Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now