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

author milos myszczuk
Article by Milosz Myszczuk PrestaShop expert, official PrestaShop community moderator. PHP developer, specialist in relative and spatial databases management, GIS Analyst, CEO & founder of VEKIA interactive agency. Read more about VEKIA company
If you like my articles and want much more valuable tips, feel free to send me donation
1.4 version 1.4.11 1.6 404 addon admin advertise ahref ajax alpha animation api app application authentication back office backup badge banner basics block bootstrap button cache carrier cart catalog category certificate changelog chat class clear client clip cms code colors columns comments configuration contact container content controller cookie counter country coupon css csv currency customer dashboard database debug default delete delivery desktop developer device disable discount displayNav displayTop download dynamic editor effect empty encrypt engine error exchange exclude export facebook faceshop fade fancoupon fancybox fanpage fatal feature feed field file fix fixed font footer free friendly url front ftp full gallery generate gift global godaddy google google+ gray grid groupon header help hide highlight homefeatured homepage hook hosting hover howto htaccess html html5 ID image import include input instagram installation integration iPhone issue javascript jquery kgb knowhow languages law left likebox link list livingsocial loading log login logo loyality mail mailing maintenance manufacturer marketing marquee mcrypt menu meta mobile modification module movie moving multilanguage multiupload must have mysql news newsletter notification number open graph order override page password performance PHP phpmyadmin picture pinterest plugin popup post prestashop prestashop 1.0 prestashop 1.1 prestashop 1.2 prestashop 1.3 prestashop 1.4 prestashop 1.5 price rules problem product profile promotion proslider purifier quantity query quick tip random rates register reinsurance release reporting reset responsive restore results ribbon rich text right sales search security seo service shadow share shipping shop shopmania slider smarty social networks SQL SSL statistics stock store style subcategory superuser support switcher tab tablet tag tax template text theme tinyMCE tips and tricks tpl tracking translations tree trends trigger tumblr tutorial twitter update upgrade upload variables video visits voucher vulnerability web2print wide widget width window wishlist wysiwyg youtube zip zopim