GhostRecon Posted March 5, 2015 Share Posted March 5, 2015 Witam, Mam problem z modułem Blocktopmenu.Chodzi o to,że chciałem go umieścić we własnym divie(stworzonym w pliku header.tpl) i z własnym hookiem. Tak więc stworzyłem diva i hooka: <!-- Header --> <div id="header" class="grid_9 alpha omega"> <div id="TopStrip"> {hook h='TopStrip'} </div> <a id="header_logo" href="{$base_dir}" title="{$shop_name|escape:'htmlall':'UTF-8'}"> <img class="logo" src="../img/logo.png" alt="{$shop_name|escape:'htmlall':'UTF-8'}" {if $logo_image_width}width="561px"{/if} {if $logo_image_height}height="175px" {/if}/> </a> <div id="header_right" class="grid_9 omega"> {$HOOK_TOP} </div> <div id="TopMenu"> {hook h='TopMenu'} </div> </div> <div id="page" class="container_9 clearfix"> w pliku blocktopmenu.php dodałem do instalacji: public function install() { if (!parent::install() || !$this->registerHook('TopMenu') || !$this->registerHook('DisplayTop') || !Configuration::updateGlobalValue('MOD_BLOCKTOPMENU_ITEMS', 'CAT1,CMS1,CMS2,PRD1') || !Configuration::updateGlobalValue('MOD_BLOCKTOPMENU_SEARCH', '1') || !$this->registerHook('actionObjectCategoryUpdateAfter') || !$this->registerHook('actionObjectCategoryDeleteAfter') || !$this->registerHook('actionObjectCategoryAddAfter') || !$this->registerHook('actionObjectCmsUpdateAfter') || !$this->registerHook('actionObjectCmsDeleteAfter') || !$this->registerHook('actionObjectCmsAddAfter') || !$this->registerHook('actionObjectSupplierUpdateAfter') || !$this->registerHook('actionObjectSupplierDeleteAfter') || !$this->registerHook('actionObjectSupplierAddAfter') || !$this->registerHook('actionObjectManufacturerUpdateAfter') || !$this->registerHook('actionObjectManufacturerDeleteAfter') || !$this->registerHook('actionObjectManufacturerAddAfter') || !$this->registerHook('actionObjectProductUpdateAfter') || !$this->registerHook('actionObjectProductDeleteAfter') || !$this->registerHook('actionObjectProductAddAfter') || !$this->registerHook('categoryUpdate') || !$this->registerHook('actionShopDataDuplication') || !$this->installDB()) return false; return true; } I na samym dole przed ostatnim } : public function hookTopMenu($param) { $this->context->controller->addJS($this->_path.'js/hoverIntent.js'); $this->context->controller->addJS($this->_path.'js/superfish-modified.js'); $this->context->controller->addCSS($this->_path.'css/superfish-modified.css'); return $this->hookDisplayTop($param); } I problem jest taki: Jak mam zahookowany moduł w TopMenu i w DisplayTop to wyświetlają się tak jak powinny i w miejscu gdzie powinny, tyle,że wyświetlają się oba naraz. Jak dam unhook'a na pozycji Top to moduł dalej wyświetla się w dobrym miejscu w TopMenu tyle ,że bez css i js(po prostu są to linki tekstowe jeden pod drugim które do tego nie działają...) Jak zrobić żeby się wszystko wyświetlało dobrze w TopMenu i żeby nie wyświetlało się menu w pozycji Top w tym samym momencie?? Link to comment Share on other sites More sharing options...
GhostRecon Posted March 7, 2015 Author Share Posted March 7, 2015 (edited) Już sobie poradziłem:) Tylko jakby ktoś mógłby mi wyjaśnić bo nie do końca rozumiem dlaczego to działa a chce się tego nauczyć a nie tylko osiągnąć zamierzony efekt. Zrobiłem tak: w header.tpl dodałem hook'a - to rozumiem -załączyłem moduł w blocktopmenu.php w sekcji install zarejestrowałemhook'a - czyli ten moduł można teraz podłączyć po ten hook który jest wyświetlony w divie w headerze. na samym dole w blocktopmenu dodałem to: public function hookTopMenu($params){ return $this->hookDisplayTop($params); } 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'); } Pierwszą funkcję rozumiem - po prostu w hookTopMenu wywołuję hooka funkcji DisplayTop która odpowiada za wyświetlenie menu. Za to w druga funkcja jak rozumiem dodaje do hook'a DisplayHeader wywoływanego w sekcji head podane później pliki. Tylko czy ktoś może mi wyjaśnić o co chodzi w składni tego polecenia, tak krok po kroku: $this->context->controller->addJS($this->_path.'js/hoverIntent.js'); ?? Chce się nauczyć Presty i dlatego analizuję tak linijka po linijce wszystko:) Edited March 7, 2015 by GhostRecon (see edit history) Link to comment Share on other sites More sharing options...
GhostRecon Posted March 7, 2015 Author Share Posted March 7, 2015 Drugi problem jaki napotkałem to dodanie indywidualnej klasy/id do elementów li menu.Udało mi się dodać te klasy do poszczególnych kategorii produktów i do podstron kategorii CMS ale za nic nie mogę znaleźć sposobu żeby dodać klasę do kategorii cms oraz stron cms tych które nie są w kategorii żadnej(np. do strony about). Jak to zrobić?? Link to comment Share on other sites More sharing options...
GhostRecon Posted March 10, 2015 Author Share Posted March 10, 2015 odświeżam... 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