rubsrubs Posted April 27, 2013 Share Posted April 27, 2013 Hola, Tengo prestashop 1.4 Compré un módulo que se muestra en la página home (en el hook home). ¿Cómo puedo hacer que ese módulo se muestre en una página CMS? Gracias Link to comment Share on other sites More sharing options...
Sergio Ruiz Posted April 27, 2013 Share Posted April 27, 2013 (edited) Hola, Tengo prestashop 1.4 Compré un módulo que se muestra en la página home (en el hook home). ¿Cómo puedo hacer que ese módulo se muestre en una página CMS? Gracias Creas un hook y metelo en el cms.tpl Para crear un hook, mira el video de Luis Cambra: Edited April 27, 2013 by Rubalcaba (see edit history) Link to comment Share on other sites More sharing options...
rubsrubs Posted April 27, 2013 Author Share Posted April 27, 2013 ok, miraré el vídeo. Supongo que si quiero que se muestre sólo en una páina concreta, deberé introducir las otras páginas CMS como excepciones ¿no? Por cierto, gracias. Link to comment Share on other sites More sharing options...
Sergio Ruiz Posted April 27, 2013 Share Posted April 27, 2013 ok, miraré el vídeo. Supongo que si quiero que se muestre sólo en una páina concreta, deberé introducir las otras páginas CMS como excepciones ¿no? Por cierto, gracias. Puedes hacer una condicional en el fichero *.tpl sin problema, primero crea el hook y despues seguimos hablando. Link to comment Share on other sites More sharing options...
rubsrubs Posted April 28, 2013 Author Share Posted April 28, 2013 He seguido las indicaciones del vídeo que tiene ese mismo autor pero para prestashop 1.4 (que es el que uso) - He creado el hook en BD - Lo he añadido al FrontController - Lo he añadido a cms.tpl He hecho una prueba con el módulo blockcategories (haciendo las modificaciones necesarias en blockcategories.php), y funciona todo correctamente. Ahora bien, yo quiero mostrar otro módulo y me está dando ciertos problemas. El módulo que quiero mostrar en una página CMS, crea las funciones de los hooks de manera poco habitual. El módulo tiene una carpeta /controllers/ y dentro hay un fichero hooks.php Ahí dentro he encontrado la función que creo que es la que me interesa: public static function _hookHome($obj, $params) { global $smarty; global $cookie; if (Configuration::get('MYCOLLP_WIDGET_HOME')) { $params['homeWidget']=true; $content = self::_hookextraCarrier($obj, $cookie, $smarty, $params, null); $smarty->assign('content',$content); $smarty->assign('collPlaceLabel',Configuration::get('MYCOLLP_LABEL',$cookie->id_lang)); $output= $obj->display(dirname(__FILE__).'/'.$obj->name.'.php','templates/place_home.tpl'); return $output; } } Para que mi hook haga lo mismo, he añadido: public static function _hookPlacesHook($obj, $params) { return $this->_hookHome($obj, $params); } El problema es que no entra en la función. He puesto trazas, y está comprobado: no entra. No entiendo por qué ellos ponen un guión bajo delante. Yo he tratado de seguir la misma nomenclatura, pero no hay manera. Ni poniendolo sin guión ni nada... ¿Alguna idea de cual puede ser el fallo? Link to comment Share on other sites More sharing options...
Recommended Posts