Unleash the Full Potential of Your PrestaShop Store

Welcome to MyPresta.eu – Your reliable partner in the e-commerce world. Find innovative modules that will take your business to a new level.

Top horizontal menu in displayNav hook

Today i want to show you how to move default Top horizontal menu module to displayNav hook. By default, you can move this module there but unfortunately - whole menu doesnt work well there. It's because of missed js and css libraries. So, in this guide i want to show you step by step how you can fix that.

 

move block top menu to displayNav

 

Transplanting module to displayNav hook

We must transplant module to displayNav section. in this case go to modules > positions tab in your back office. On the top right window part you can see anchor icon with "transplant a module" text. Click on it and you will see form where you have to:

  1. from first dropdown named "Module" select: Top horizontal menu
  2. from second dropdown named "Hook into" select "displayNav (Navigation)"

 

transplanting top horizontal menu module to new hook

transplant top horizontal menu module

Don't configure all other fields - it's not necessary. You have to select correct values only from these two select boxes and that's all. After that - click on "save" button below the form. You will see message with confirmation - now your menu module is correctly transplanted to displayNab hook.

 

Unhooking module from old position: displayTop

Okay, now it's time to unhook module from old position. In this case go to modules > positions tab in back office and search for list of modules named "displayTop". Near the "Top horizontal menu" module click on dropdown icon, then select unhook. That's all. After unhooking you will see message with confirmation.

 

Unhooking Top horizontal menu module from displayTop hook

unhooking block top menu module from dispalyTop section

 

 

Modification of blocktopmenu.php file

Now it's time to modify module file. It's necessary, because without modification menu feature will work without js scripts and css styles - it will be totally useless. So, open module file: /modules/blocktopmenu/blocktopmenu.php and before last closing bracket paste this code:

    public function hookdisplayHeader($params){
        $this->context->controller->addJS($this->_path.'js/hoverIntent.js');
	$this->context->controller->addJS($this->_path.'js/superfish-modified.js');
	$this->context->controller->addJS($this->_path.'js/blocktopmenu.js');
	$this->context->controller->addCSS($this->_path.'css/blocktopmenu.css');
	$this->context->controller->addCSS($this->_path.'css/superfish-modified.css');
    }

Save changes in file. 

 

Transplanting module to displayHeader section.

Go back to the back office, open section: modules > positions and click on anchor icon (go to transplant a module section). From first dropdown select Top Horizontal Menu and from second select displayHeader. Save changes. that's all. your modification is ready!

 

Effect of our modifications

displayNav and top horizontal menu module

Zdjęcie autora: Milosz Myszczuk

Artykuł napisany przez Milosza Myszczuka, eksperta PrestaShop i oficjalnego moderatora społeczności PrestaShop. CEO i założyciel agencji interaktywnej VEKIA. Dowiedz się więcej.

If you like this article, support our work!

Comments