rafapas22 Posted July 14, 2016 Share Posted July 14, 2016 Buenas. Quiero poner un enlace en algunos productos que cuando le pinches se abra un pdf (o en su defecto unas especificaciones puestas a mano) de forma emergente, como se abre cuando le das a vista rápida de los productos, que se abre emergentemente no ocupa todo el ancho ni el alto y por detrás se queda el fondo casi negro. Como hago esto? Seguro que tiene que existir alguna función del core de Prestasop que lo haga. Gracias por la ayuda. Saludos Link to comment Share on other sites More sharing options...
ventura Posted July 14, 2016 Share Posted July 14, 2016 algo asi http://antonio-ventura.com/size-chart-info-window/ Link to comment Share on other sites More sharing options...
buhoplace Posted July 14, 2016 Share Posted July 14, 2016 En classes/pdf tienes una clase "pdfgenerator", para crear el pdf, pero, es necesario mostrar un pdf al pinchar en un botón y te lo muestre en un Modal o quickview? Yo mediante ajax llamaría a una función, que dicha función me devuelva el html o un tpl Compilado con tus variables, y añadirlo a tu ventana emergente, modal o quickview. Si lo haces con html: $this->context->smarty->assign(array( "var1"=> "xD" )); $TPL= $this->context->smarty->createTemplate(_PS_MODULE_DIR_.$this->module->name.'/views/templates/admin/mitpl.tpl', $this->context->smarty); $html= $TPL->fetch(); echo $html; die(); o die(json_encode(array( "respuesta"=> 1, "html" => $html ))); Puedes hacerlo mediante ajax, o simplemente añadir el html a una variable, depende para que lo necesites exactamente etc etc. Para pdf nose, no lo use todavía, seguro que hay ejemplos por ahí Link to comment Share on other sites More sharing options...
ventura Posted July 14, 2016 Share Posted July 14, 2016 Para pdf con fancybox http://jsfiddle.net/NUBru/ Link to comment Share on other sites More sharing options...
rafapas22 Posted July 15, 2016 Author Share Posted July 15, 2016 (edited) Voy a probar a hacerlo directamente con datos (variables) y olvidarme del pdf. Estoy probando la primera manera que ha dicho Ventura pero estoy viendo que no me carga el Javascript que le pongo en el front.js del módulo, sé que en el ejemplo de Ventura el Javascript de abajo dice de ponerlo en product.js pero lo suyo si es un módulo personalizado es que esté en un js de ese módulo, no? Según el generador de módulos debo poner el JS en front.js pero al hacer mi prueba he visto en el Chrome que no se lanza ese js , pero tampoco el front.css, por qué? si inicio el hookHeader en el install() , tal que: return parent::install() && $this->registerHook('header') /** * Add the CSS & JavaScript files you want to be added on the FO. */ public function hookHeader() { $this->context->controller->addJS($this->_path.'/views/js/front.js'); $this->context->controller->addCSS($this->_path.'/views/css/front.css'); } Este es el código que he puesto en el front.js, en el tpl he puesto un <a> con clase sizechart $(document).ready(function(){ $(".sizechart").fancybox({ 'type': 'iframe', 'width': 800, 'height': 750, ' maxWidth': 750, 'fitToView' : false, scrolling : 'auto', 'autoSize' : false, }); }); Gracias por adelantado Edited July 15, 2016 by rafapas22 (see edit history) Link to comment Share on other sites More sharing options...
ventura Posted July 15, 2016 Share Posted July 15, 2016 mejor asi, en el install $this->registerHook('displayHeader') y la funcion del hook public function hookDisplayHeader($params) Link to comment Share on other sites More sharing options...
rafapas22 Posted July 15, 2016 Author Share Posted July 15, 2016 Ostras me he perdido, el displayHeader ya lo he registrado en el install pero en el hookDisplayHeader que parámetros tengo que pasarle? No sé lo de tener hookDisplayHeadery hookHeader para iniciar los js y css del front para mí es nuevo y no lo termino de entender, si me puedes poner un ejemplo lo agradecería Link to comment Share on other sites More sharing options...
ventura Posted July 15, 2016 Share Posted July 15, 2016 Los parámetros, los del context, seria como los estas poniendo ahora, pero añadiendolos en la funcion del hook public function hookDisplayHeader($params) { $this->context->controller->addJS($this->_path.'/views/js/front.js'); $this->context->controller->addCSS($this->_path.'/views/css/front.css'); } 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