Pierre.Giraud Posted June 5, 2014 Share Posted June 5, 2014 Bonjour, Je suis en train de configurer une boutique PrestaShop. J'ai besoin de changer le module bloc Facebook de place pour le placer à droite du slider (dans le hook displayTopColumn). J'ai commencé par retirer les images à droite du slider principal en les supprimant du configurateur de thèmes. J'ai ensuite remplacé dans le fichier php du module Facebook : $this->registerHook('displayHeader') par $this->registerHook('displayTopColumn') et j'ai également changé le displayHeader en displayTopColumn dans : public function hookDisplayHeader() { $this->page_name = Dispatcher::getInstance()->getController(); if ($this->page_name == 'index') { $this->context->controller->addCss(($this->_path).'css/blockfacebook.css'); $this->context->controller->addJS(($this->_path).'blockfacebook.js'); } } Ensuite, j'ai hooké le module dans le hook displayTopColumn et j'ai désinstallé/réinstallé le module. Et je ne comprends pas pourquoi mon module Facebook n'apparait pas dans mon hook displayTopColumn (pas même dans le code de la page...). J'ai également testé en laissant le displayHeader et en faisant un getparams return vers displayTopColumn mais je n'ai pas eu plus de résultat. Quelqu'un a une idée ? Je me demande si ce n'est pas le module config de thème qui "bloque" les changements des modules qu'il permet de configurer justement. Merci par avance ! Link to comment Share on other sites More sharing options...
Szed Posted June 5, 2014 Share Posted June 5, 2014 DisplayHeader est nécessaire surement, car c'est le hook qui s'occupe du JS/CSS en général. Il faudrait plutot remplacer displayLeftColumn par exemple (si elle existe...). Link to comment Share on other sites More sharing options...
Pierre.Giraud Posted June 5, 2014 Author Share Posted June 5, 2014 Il faudrait plutot remplacer displayLeftColumn par exemple (si elle existe...). Pour le module block Facebook il n'y a que 2 hook de dispo en natif : home & header ... Link to comment Share on other sites More sharing options...
Szed Posted June 5, 2014 Share Posted June 5, 2014 Alors utiliser displayHome plutot que displayHeader. Vous pouvez sinon ajouter carrément une troisième fonction de hook; function displayTopColumn($params){ return $this->displayHome($params); } quelque chose comme cela. Pas de raison que ca ne marche pas Link to comment Share on other sites More sharing options...
Pierre.Giraud Posted June 5, 2014 Author Share Posted June 5, 2014 Pas de raison que ca ne marche pas En effet, l'être humain est faillible et votre commentaire m'a mis la puce à l'oreille : j'avais déjà essayé ce matin le function displayTopColumn... return et ça ne marchait pas car en fait il faut écrire "hookdisplayTopColumn". Voilà le code pour ceux que ça intéresserait : (blockfacebook.php) public function install() { return parent::install() && Configuration::updateValue('blockfacebook_url', 'https://www.facebook.com/prestashop') && $this->registerHook('displayHome') && $this->registerHook('displayHeader') && $this->registerHook('displayTopColumn'); } ... ... ... public function hookDisplayHome() { if (!$this->isCached('blockfacebook.tpl', $this->getCacheId())) { $facebookurl = Configuration::get('blockfacebook_url'); if (!strstr($facebookurl, 'facebook.com')) $facebookurl = 'https://www.facebook.com/'.$facebookurl; $this->context->smarty->assign('facebookurl', $facebookurl); } return $this->display(__FILE__, 'blockfacebook.tpl', $this->getCacheId()); } public function hookHeader() { $this->page_name = Dispatcher::getInstance()->getController(); if ($this->page_name == 'index') { $this->context->controller->addCss(($this->_path).'css/blockfacebook.css'); $this->context->controller->addJS(($this->_path).'blockfacebook.js'); } } public function hookdisplayTopColumn($params){ return $this->hookDisplayHome($params); } Merci beaucoup ! 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