Jump to content

Déplacer le Module "Block Facebook" dans le Hook displayTopColumn


Recommended Posts

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

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 :D

Link to comment
Share on other sites

Pas de raison que ca ne marche pas :D

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...