daniem Posted September 27, 2014 Share Posted September 27, 2014 Hey. Mam problem z przypisaniem modułu koszyka do nowej pozycji. Do pliku blockcart.php dodałem: public function hookCartinmenu($params) { $params['blockcart_top'] = true; return $this->hookTop($params); } Utworzyłem nowy hook w bazie o nazwie: displayCartinmenu Kolejny wkleiłem kod w miejscu gdzie chce umieścić ten moduł: {hook h="displayCartinmenu"} Wchodzę w pozycje modułów, klikam "transplant module" wybieram moduł: Block Cart następie pozycję: {hook h="displayCartinmenu"} Na koniec kilkam "Save" i wywala taki błąd...: This module cannot be transplanted to this hook. Link to comment Share on other sites More sharing options...
vekia Posted September 27, 2014 Share Posted September 27, 2014 public function hookCartinmenu($params) nie jest równe public function hookdisplayCartinmenu($params) a Ty zdefiniowałeś ten drugi hook w bazie i ten drugi próbujesz wywołac Link to comment Share on other sites More sharing options...
daniem Posted September 27, 2014 Author Share Posted September 27, 2014 {hook h="displayCartinmenu"} zmieniłem na: {hook h="hookCartinmenu"} a w bazie również to samo zrobiłem... nadal to samo... Link to comment Share on other sites More sharing options...
vekia Posted September 27, 2014 Share Posted September 27, 2014 no to jeszcze raz w bazie utworzyłeś: displayCartinmenu i to jest nazwa Twojego nowego hooka, nie z "hook" w nazwie, nie bez "display": displayCartinmenu, zatem w szablonach .tpl korzystasz z: {hook exec='displayCartinmenu'} aby moduł działał w tym hooku trzeba dodac support tej nowej pozycji, czyli utworzyć odpowiednią funkcję w kodzie .php modułu. aby utworzyć funkcję zaczepiającą moduł w danym hooku, do nazwy hooka dodajemy "hook", czyli hookdisplayCartinmenu($params) public function hookdisplayCartinmenu($params) { $params['blockcart_top'] = true; return $this->hookTop($params); } Link to comment Share on other sites More sharing options...
daniem Posted September 27, 2014 Author Share Posted September 27, 2014 vekia super dzięki, teraz nie pojawia się błąd, ale za to w ogóle ten moduł się nie wyświetla... kompletnie... Link to comment Share on other sites More sharing options...
vekia Posted September 29, 2014 Share Posted September 29, 2014 problem leży raczej w funkcji: hookdisplayCartinmenu($params) jest tam kod: $params['blockcart_top'] = true; return $this->hookTop($params); łatwiej moim zdaniem będzie przekopiować zawartość funkcji hookTop (w zasadzie rightCOlumn) do displayCartinmenu if (Configuration::get('PS_CATALOG_MODE')) return; // @todo this variable seems not used $this->smarty->assign(array( 'order_page' => (strpos($_SERVER['PHP_SELF'], 'order') !== false), 'blockcart_top' => (isset($params['blockcart_top']) && $params['blockcart_top']) ? true : false, )); $this->assignContentVars($params); return $this->display(__FILE__, 'blockcart.tpl'); Link to comment Share on other sites More sharing options...
daniem Posted September 29, 2014 Author Share Posted September 29, 2014 nadal to samo... Link to comment Share on other sites More sharing options...
Recommended Posts