zazdrosny17 Posted January 16, 2014 Share Posted January 16, 2014 Witam ponownie. Tym razem chciałbym przenieść menu tak aby nie znajdowało się w HOOK_TOP tylko w moim HOOK_NOWAK Zrobiłem tak: // These hooks aren't used for the mobile theme. // Needed hooks are called in the tpl files. if (!isset($this->context->cart)) $this->context->cart = new Cart(); $this->context->smarty->assign(array( 'HOOK_HEADER' => Hook::exec('displayHeader'), 'HOOK_TOP' => Hook::exec('displayTop'), 'HOOK_NOWAK' => Hook::exec('displayNowak'), //tą linike dopisałem 'HOOK_LEFT_COLUMN' => ($this->display_column_left ? Hook::exec('displayLeftColumn') : ''), 'HOOK_RIGHT_COLUMN' => ($this->display_column_right ? Hook::exec('displayRightColumn', array('cart' => $this->context->cart)) : ''), )); W bazie utworzyłem nowy HOOK: id_hook: 133 | name: displayNowak | position: 1 następnie w hook_module dopisałem: id_module: 26 | id_shop: 1 | id_hook: 133 | position: 1 (id 26 bo to id bloktopmenu) Nastpęnie w pliku header.tpl pod HOOK_TOP dodałem: <div style="background: red; width: 200px; height: 100px;">{$HOOK_NOWAK}</div> I niestety nic się nie dzieje. Nie ma tam menu. Czy mogę prosić o pomoc? 1 Link to comment Share on other sites More sharing options...
vekia Posted January 16, 2014 Share Posted January 16, 2014 musisz zmodyfikować moduł menu tak, aby obsługiwał ten hook tj dodać funkcję: public function hookDisplayNowak($param){ return $this->hookDisplayTop($param); } 1 Link to comment Share on other sites More sharing options...
zazdrosny17 Posted January 16, 2014 Author Share Posted January 16, 2014 Jesteś mistrzem świata to Ty napisałeś tego prestashopa? Link to comment Share on other sites More sharing options...
zazdrosny17 Posted January 16, 2014 Author Share Posted January 16, 2014 Robiłem wszystkie hooki tak samo i wszystko działało dopuki nie natrafiłem na modul search. Kiedy wpisuję w klasie: public function hookDisplaySearch($param){ return $this->hookDisplayTop($param); //return $this->hookDisplayHome($param); } Mam białą stronę. Jakieś pomysły ? ;> Link to comment Share on other sites More sharing options...
vekia Posted January 17, 2014 Share Posted January 17, 2014 moduł ten wykorzystuje funkcje: public function hookTop($params) { if (Tools::getValue('search_query') || !$this->isCached('blocksearch-top.tpl', $this->getCacheId('blocksearch-top'))) { $this->calculHookCommon($params); $this->smarty->assign('blocksearch_type', 'top'); } return $this->display(__FILE__, 'blocksearch-top.tpl', Tools::getValue('search_query') ? null : $this->getCacheId('blocksearch-top')); } to jest ta sama funkcja co hookDisplayTop (pod względem tego, co robi) jednak zapisem różni się nieco (hookTop a nie hookDisplayTop). Dlaczego? w starych wersjach było hookTop zamiast hookDisplayTop, stąd ta różnica. skorzystaj z takiego kodu: public function hookDisplaySearch($param){ return $this->hookTop($param); //return $this->hookDisplayHome($param); } Link to comment Share on other sites More sharing options...
Recommended Posts