herwaldi Posted April 21, 2016 Share Posted April 21, 2016 Witam, dopiero zaczynam moją przygodę z PS, mam problem z dodaniem nowej pozycji (HOOK), dodaję w plku FrontController.php 'HOOK_displayLang' => Hook::exec('displayLang'),, umieszczam HOOK w header.tpl lecz w Panelu Admina nie widzę tej pozycji Dodam, że mam również dodaje w bazie w kolumnie ps_hook odpowiedni rekord. Co muszę jeszcze zrobić, żeby pozycja się pojawiła w PA? Czy muszę ją definiować z odpowiednim pluginem? (Też to robiłem i nie działa). Chciałbym, żeby pozycja widniała w PA żebym mógł sobie tam dodawać co zechcę. Pozdrawiam Marcin Link to comment Share on other sites More sharing options...
endriu107 Posted April 21, 2016 Share Posted April 21, 2016 To tak nie działa, żebyś mógł dodać sobie moduł do hooka to moduł musi mieć napisaną jego obsługę więc niepotrzebnie edytujesz frontcontroller. Wejdź w dany moduł dopisz mu obsługę nowego hooka a w samym pliku tpl możesz go wywołać tak {hook h='displayLang'} i to w zasadzie wszystko. Link to comment Share on other sites More sharing options...
endriu107 Posted April 21, 2016 Share Posted April 21, 2016 Jeszcze zapomniałem napisać że po dopisaniu hooka należy moduł podpiąć do niego w zakładce pozycje. Link to comment Share on other sites More sharing options...
herwaldi Posted April 21, 2016 Author Share Posted April 21, 2016 Jeszcze zapomniałem napisać że po dopisaniu hooka należy moduł podpiąć do niego w zakładce pozycje. Dopsiuję do pliku bloklanguages.php następującą rzecz: public function hookDisplayLang($params) { return $this->hookDisplayLang($params); } I nic mi się nie pojawia w pozycjach Link to comment Share on other sites More sharing options...
endriu107 Posted April 21, 2016 Share Posted April 21, 2016 Tylko co ma zwrócić ten hook? Z tego co widzę zwraca sam siebie a jest pusty. Link to comment Share on other sites More sharing options...
herwaldi Posted April 21, 2016 Author Share Posted April 21, 2016 Tylko co ma zwrócić ten hook? Z tego co widzę zwraca sam siebie a jest pusty. A jak poprawnie zwrócić hooka? Link to comment Share on other sites More sharing options...
endriu107 Posted April 21, 2016 Share Posted April 21, 2016 Czasami moduły pomimo takiego wywołania nie chcą go wyświetlić, najlepiej nowego hooka dopisać w module również przy instalacji i zresetować moduł, a w samym wywołaniu zwrócić go tak: public function hookDisplayTop($params) { if (!$this->_prepareHook($params)) return; return $this->display(__FILE__, 'blocklanguages.tpl'); } public function hookDisplayLang($params) { return $this->hookDisplayTop($params) } Czyli pierwszy hook jest oryginalny i ma przypisaną zawartość a drugi dodatkowy hook zwraca zawartość pierwszego. Oczywiście jeśli masz własny moduł i nie masz pierwszego hooka to ten drugi musi coś zwracać inaczej nie ma sensu go wywoływać 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