krzysztofnowak Posted January 31, 2016 Share Posted January 31, 2016 Witam. Jak w temacie. Chciałbym dodać do modułu Products Carousel on homepage - Templatin nową pozycję jego wyświetlania. Wyświetla się tylko w jednym bloku, który jest niewidoczny na stronie. Ktoś pomoże? Link to comment Share on other sites More sharing options...
0 endriu107 Posted January 31, 2016 Share Posted January 31, 2016 W kontrolerze modułu musisz dopisać obsługę nowego hooka na zasadzie: public function hookNowyHook($params) { return $this->hookStaryHook($params); } Czyli do nowego hooka przypisujesz sposób wyświetlania z starego hooka, nie wiem jak to jest dokładnie w twoim module stąd tylko taki przykład, później w Moduły > Pozycje przypisujesz moduł do nowego hooka. Link to comment Share on other sites More sharing options...
0 krzysztofnowak Posted February 5, 2016 Author Share Posted February 5, 2016 (edited) Dziękuję ślicznie. Ten problem rozwiązany ale pojawił się inny. Muszę przeszukać forum w poszukiwaniu rozwiązania, inaczej nowy temat założę Pozdrawiam _____ Jednak nie rozwiązany. Po dodaniu nowego hook'a po załadowaniu strony wyskakuje błąd serwera 500 a na stronie administracyjnej błąd: "[PrestaShop] Fatal error in module file :[]/classes/module/Module.php(1331) : eval()'d code: Cannot redeclare HomeFeatured::hookDisplayHome()" 1331(+1332) w kodzie to: if (eval('if (false){ '.$file.' }') !== false) require_once( _PS_MODULE_DIR_.$module.'/'.$module.'.php' ); Edited February 5, 2016 by krzysztofnowak (see edit history) Link to comment Share on other sites More sharing options...
0 endriu107 Posted February 5, 2016 Share Posted February 5, 2016 Ten błąd pojawił się po dopisaniu nowego hooka czy w którym momencie? Jeśli po dopisaniu to wklej to co dopisałeś w kontrolerze. Link to comment Share on other sites More sharing options...
0 krzysztofnowak Posted February 5, 2016 Author Share Posted February 5, 2016 public function hookDisplayHome($params) { if (!$this->isCached('homefeatured.tpl', $this->getCacheId())) { $this->_cacheProducts(); $this->smarty->assign( array( 'products' => HomeFeatured::$cache_products, 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'homeSize' => Image::getSize(ImageType::getFormatedName('home')), ) ); } return $this->display(__FILE__, 'homefeatured.tpl', $this->getCacheId()); } Użyłem tego kodu (vekia go polecił komuś do włączenia losowości produktów- to jest mój główny problem. Nie mogę sprawić, by produkty polecane wyświetlały się losowo). Po dodaniu go do pliku homefeatured.php z automatu wyskakuje ten błąd. Gdy próbowałem dodać jakikolwiek inny kod dalej występował błąd. Link to comment Share on other sites More sharing options...
0 endriu107 Posted February 5, 2016 Share Posted February 5, 2016 W konfiguracji modułu masz włączoną opcje losowości i ona standardowo nie działa? Link to comment Share on other sites More sharing options...
0 krzysztofnowak Posted February 5, 2016 Author Share Posted February 5, 2016 Problem jest taki: 1) mam dwa moduły do wyświetlania polecanych produktów na stronie: 1a) Polecane produkty na stronie głównej (homefeatured) - posiada funkcję losowego wyświetlania ale nie widzę go na stronie 1b) Products Carousel on homepage - Templatin (tptnprodcarousel) - wyświetlają się na stronie produkty, ale nie ma możliwości, żeby były losowo z danej kategorii W obu mam przydzieloną tą samą kategorię. Liczyłem, że jak przypiszę 1a do DisplayHome to się pokaże. Link to comment Share on other sites More sharing options...
0 endriu107 Posted February 5, 2016 Share Posted February 5, 2016 To tak nie zadziała że zmieniając ustawienia w jednym module zaskoczą w drugim, to tak jakby tankować swoje auto a żona też by od razu miała bak do pełna Dlaczego sie moduł nie wyświetla na sklepie? Szablon nie pozwala mu sie w wyświetlić czy co? Link to comment Share on other sites More sharing options...
0 krzysztofnowak Posted February 5, 2016 Author Share Posted February 5, 2016 Nie, nie. Chcę wrzucić homefeatured do DisplayHome i tylko jego wyświetlać z polecanymi produktami. Ten drugi jest już na stronie, ale nie ma opcji losowego wyświetlania. Homefeatured przpisany jest do : -displayHeader -displayHomeTab -displayHomeTabContact Product Carousel do: - displayHome Myślałem że skoro Product Carousel jest tylko w displayHome i widzę go na stronie, to jak przypiszę do tej pozycji (displayHome) moduł homefeatured, to zadziała i się pokaże Link to comment Share on other sites More sharing options...
0 endriu107 Posted February 5, 2016 Share Posted February 5, 2016 Teraz tak z ciekawości zajrzałem do kontrolera modułu i w standardzie ma on obsługę tego hooka więc nic w pliku nie trzeba zmieniać jedynie należy wejść w Moduły > pozycje > przemieszczanie modułu > i podpiąć go pod hook home oraz odpiąć go z hooka hometab i hometabcontent. Link to comment Share on other sites More sharing options...
0 krzysztofnowak Posted February 5, 2016 Author Share Posted February 5, 2016 (edited) Dzięki wielkie endriu107 !!! Działa !Masz ode mnie wirtualne piwo !! Mogę zadać jedno pytanie w prywatnej wiadomości? Nie wiem czy zakładać nowy temat w pewnej sprawie. Edited February 5, 2016 by krzysztofnowak (see edit history) Link to comment Share on other sites More sharing options...
Question
krzysztofnowak
Witam.
Jak w temacie. Chciałbym dodać do modułu Products Carousel on homepage - Templatin nową pozycję jego wyświetlania.
Wyświetla się tylko w jednym bloku, który jest niewidoczny na stronie.
Ktoś pomoże?
Link to comment
Share on other sites
10 answers to this question
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