MindFlyer Posted June 8, 2020 Share Posted June 8, 2020 (edited) Cześć, Mam problem i już nie wiem jak to ogarnąć - probowałem prawie wszystkiego, ale od początku. Był sobie sklep w wer. 1.5 z art. wirtualnymi, dru.gi sklep na shopperze (sprzed 15 lat, z tymi samymi artykułami, tylko już w wersji fizycznej - głównie książki i płyty) chciałem przerobić (za pośrednictwem multisklepu) na PRESTĘ, więc pomyślałem, że najpierw zaktualizuję wersję PRESTY. Chciałem zrobić upgrade na 1.7.5, ale... WSZYSTKO się wysypało. Dłuższą chwilę to trwało, ale udało się odzyskać cały sklep za pomocą kopii technicznej hostingu. Następnie zrobiłem bezpieczny upgrade do wer. 1.6.1.24 Następnie udało się zrobić dru.gi sklep jako multi - i tu pojawił się kolejny problem - przy imporcie KATEGORII do nowego sklepu niestety przypadkowo zostały usunięte kategorie sklepu z art. wirtualnymi. Ręcznie udało mi się je wstawić ponownie, przyporządkowałem produkty (na szczęście nie było tego dużo) i ... teoretycznie działa. Tzn produkty widać w kategoriach, kategorie widać w sklepie, wszystko się ładnie i wyszukuje i znajduje, ale... Zniknęły wszystkie produkty ze strony głównej - NIC się nie wyświetla - a powinny zgodnie z wcześniej zainstalowanymi modułami pokazywać się produkty nowe i produkty polecane. Konfiguracje modułów z wyświetlaniem produktów na stronie głównej nie pomaga. Odinstalowanie i zainstalowanie ponowne również. Ktoś ma jakiś pomysł gdzie i o co może chodzić? To wygląda tak, jakby te stare kategorie nie do końca zostały usunięte i gdzieś PRESTA widzi te stare, a nie nowe już? Sam nie wiem... W phpmyadmin baza danych pokazuje i stare kategorie i nowe patrząc po nr id (stare, przypadkowo usunięte miały id od 3 do 89, teraz aktualnie wstawione i widoczne w panelu admina presty mają id od 90 do 122, ale w bazie danych są wszystkie widoczne.) Czy to presta gdzieś w plikach ma złe odwołania do id kategorii, czy jeszcze coś innego? Pomóżcie! Z góry dzięki za pomoc i podpowiedzi, Pozdrawiam, M. Edited June 8, 2020 by MindFlyer (see edit history) Link to comment Share on other sites More sharing options...
design4VIP Posted June 9, 2020 Share Posted June 9, 2020 Trzeba by sprawdzić dokładnie np przez var_dump(getProducts) co zwracają poszczególne moduły, dwa, czy w nowym szablonie są wyświetlanie w ogóle szablony modułów (odpowiedni hook). Link to comment Share on other sites More sharing options...
MindFlyer Posted June 9, 2020 Author Share Posted June 9, 2020 A mógłbym prosić o dokładne - krok po kroku wyjaśnienie - co, jak i gdzie zrobić? Wielkie dzięki z góry! Link to comment Share on other sites More sharing options...
design4VIP Posted June 9, 2020 Share Posted June 9, 2020 no tak krok po koku to musialbym cie nauczyc programowania.... bez tego to niemam co liczyc na wieksze efekty. raz, trzeba wiedziec co i gdzie zmodyfikowac, dwa, powienic wiedzic jak odczytac bledy, juz o poprawkach nie wspomne.... musisze wejsc w kontroler modulu i w miejscu gdzie badane sa produkty do wysweitlania (przekazywane do szablonu modulu) wrzucic powyzsze badanie zmiennej var_dump() czy print_r(), wtedy zobaczysz dokladnie co zwraca ci do szablonu. jezeli w tym miejscu wszystko bedzie sie zgadzalo i beda przekierowywane produkty poprawnie to musisz wtedy zbadac czy w ogole wyswietla szablon, czyli czy w szablonie jest odpowiedni hook zapisany. Link to comment Share on other sites More sharing options...
MindFlyer Posted June 9, 2020 Author Share Posted June 9, 2020 Ja wszystko rozumiem, ale każdy kiedyś 'zaczyna'. Nie pracowałem wcześniej z PRESTĄ - pomagam teraz koledze i nie proszę o darmową naukę programowania, a o proste wskazanie gdzie czego można szukać i jak naprawić? Mam w ciemno szukać w 30.000 plików? Bo nawet nie wiem gdzie szukać i jak wrzucić badanie zmiennej (czy w debugu, czy jakiejś konsoli, panelu admina, czy to jakaś zabawa plikami na serwerze?) Zaczepy sprawdziłem i (z tego, co sam rozumiem jest wszystko ok). Ponadto jeden z modułów do wyświetlania produktów polecanych wyświetla się - tzn jest belka info z napisem "POLECANE" - ale brak tam produktów, chociaż oczywiście są one widoczne w samej kategorii 'polecane' i w innych kategoriach również - tylko widać ten moduł pobiera sobie produkty z innej, nieistniejącej kategorii (?) Chyba faktycznie trzeba sprawdzić co i skąd pobiera moduł (zarówno 'Polecane produkty na stronie głównej', jak i 'Nowe produkty na stronie głównej' - bo żaden nic nie wyyświetla) - tylko naprawdę nie wiem jak się do tego zabrać nie znając PRESTY - jestem w sumie świeżak i dopiero poznaję ten system...A jak nie nauczę się od Was, to od kogo niby mam? Aktualnie są aktywne dwa moduły do produktów polecanych (PrestaShop 1.8.1 i Posthemes 1.1) - żaden nie wyświetla żadnych produktów. Ten od Presty konfigurowany na różne sposoby nie przynosi żadnych efektów, ten posthemes nie ma zbyt wiele do konfigurowania :/. Usunięcie któregokolwiek nic nie daje, ponowna instalacje, czy pojedyncze uruchamienie też nie... Do wyświetlania produktów nowych na głównej jest Posthemes 1.1, też nie pokazuje nic (produkty są widoczne jako 'nowe' w kategoriach, ale na głównej już się nie wyświetlają... Nadmieniam, że wszystko działało jeszcze kilka dni temu bez zarzutu - do momentu ręcznej reorganizacji kategorii. Teraz kategorie są te same, ale z innymi id - ale wszystkie produkty są od nowa właściwie przypisane do odpowiednich kategorii (Również do 'strona główna' i 'polecane') Chcę się tym pobawić, nikogo nie proszę o wyręczenie - tylko wskazanie sposobu. Raz jeszcze z góry dziękuję za wszelkie wskazówki i pomoc. Link to comment Share on other sites More sharing options...
design4VIP Posted June 9, 2020 Share Posted June 9, 2020 nikt nie kaze ci szukac w 30tys ilokow, na samym poczatku juz wspomnialem, ze musisz szukac i zbadac pliki kontrolerow w danych modulach. to juz ogranicza sie do jednego pliku na modul... teraz juz wiecej, bo jak piszesz, do samych polecanych masz juz dwa na stornie. z tego co pamietam to w oryginalnym module masz do wybory kategorie, z ktorej produkty ma wyswietlac, moze ta kategoria nie jest zybrana, albo wybrana jest zle. a w ogole jak usunales wszstkie kateogrie to przywrociles rowniez root (Id=1) i home (id=2) ? a odnosnie badania zmiennych starczy to co masz napisane wrzucic w google i dostajesz idpowiedz jak uzyc np.https://www.php.net/manual/en/function.var-dump.php Link to comment Share on other sites More sharing options...
MindFlyer Posted June 12, 2020 Author Share Posted June 12, 2020 Cześć, Badanie zmiennej nic nie zwraca, nie wiem czy dobrze to robię... :/ W module od POSTHEMES faktycznie istnieje możliwość konfiguracji i próbowałem wszystkiego - różnych id kategorii, wpisywałem też pozycje, próbowałem różne kategorie (w których są oczywiście produkty) i dalej nic. Ale moduł wyświetla się prawidłowo - tzn jest na stronie głównej belka POLECANE PRODUKTY, ale poniżej już pustka. Produktów oznaczonych jako NOWE też na głównej stronie nie ma... Moduł od PRESTA jest niewidoczny i nie da się tam skonfigurować wyboru kategorii. ROOT jest widoczny jako id=1, Strona główna id=2 i pod STRONĄ GŁÓWNĄ są wszystkie inne kategorie... Dalej nie wiem gdzie pies pogrzebany :/ Nie jestem specem od programowania i php, żeby prześledzić plik i sprawdzić co gdzie i jak Jeśli możliwe, proszę o dalsze podpowiedzi. Oczywiście mogę zamieścić jakieś screeny, czy kody plików, tylko muszę wiedzieć co by się przydało do zobaczenia? Dzięki raz jeszcze za pomoc :/ Link to comment Share on other sites More sharing options...
design4VIP Posted June 13, 2020 Share Posted June 13, 2020 bez zbadania zmiennej getProducts - co zwraca, czy zwraca i dlaczego nie, zadne screeny nie pomoga. moze masz usunieety hook Tabs lub moduly nie sa do niego przypisane ? przyczyn moze byc wiele, ale to juz trzeba by sie zaglebic w kodowanie i przesledzic cala sciezke pobierania i zwracania produktow do modulu oraz jego samego wyswietlania Link to comment Share on other sites More sharing options...
MindFlyer Posted June 18, 2020 Author Share Posted June 18, 2020 (edited) Debug pokazuje jeszcze coś takiego (może tu coś się wykrzaczyło?) Notice: Undefined property: Possearchcategories::$_html in /public_html/modules/possearchcategories/possearchcategories.php on line 260 Poniżej ten fragment kodu z zaznaczonym wierszem 260. private function getCategoryOption($id_category = 1, $id_lang = false, $id_shop = false, $recursive = true) { $id_lang = $id_lang ? (int)$id_lang : (int)Context::getContext()->language->id; $category = new Category((int)$id_category, (int)$id_lang, (int)$id_shop); if (is_null($category->id)) return; if ($recursive) { $children = Category::getChildren((int)$id_category, (int)$id_lang, true, (int)$id_shop); if($category->level_depth=='1'){ $spacer=''; }else{ $spacer = str_repeat('-', $this->spacer_size * (int)$category->level_depth); } } $shop = (object) Shop::getShop((int)$category->getShopID()); if($category->name!='Root' && $category->name!='Home'){ //260 $this->_html .= '<option value="'.(int)$category->id.'">'.(isset($spacer) ? $spacer : '').$category->name.' </option>'; } Edited June 19, 2020 by MindFlyer (see edit history) Link to comment Share on other sites More sharing options...
design4VIP Posted June 18, 2020 Share Posted June 18, 2020 daj nad tym $this->_html = ''; (dwa sredniki), nie ma zagniezdzonej zmiennej poczatkowej, tylko rozbudowanie " .= " (czyt. dodaj do zmiennej), to bardzo czesty blad w modulach POS, ale tak czy tak, tutaj nie powinien miec wiekszego znaczenia. Link to comment Share on other sites More sharing options...
MindFlyer Posted June 18, 2020 Author Share Posted June 18, 2020 Hmmm... Dodałem w wierszu 259 ";;" - ale nic to nie dało - ani 'notice' nie zniknął, ani pierwotny problem nie rozwiązał. Dobrze zrozumiałem, że powinno to tak wyglądać: (?) wiersz 259: if($category->name!='Root' && $category->name!='Home'){;; Link to comment Share on other sites More sharing options...
design4VIP Posted June 18, 2020 Share Posted June 18, 2020 nie dwa sredniki tylko "dwa apostrofy"....moj blad. teraz to na pewno bedziesz mial blad $shop = (object) Shop::getShop((int)$category->getShopID()); if($category->name!='Root' && $category->name!='Home'){ $this->_html = ''; $this->_html .= '<option value="'.(int)$category->id.'">'.(isset($spacer) ? $spacer : '').$category->name.' </option>'; } tak to ma wygladac Link to comment Share on other sites More sharing options...
MindFlyer Posted June 18, 2020 Author Share Posted June 18, 2020 (edited) O dziwo żadnego innego błędu nie wyrzuciło, ale teraz faktycznie ten notice zniknął - i jak słusznie przypuszczałeś nie poprawiło to problemu z kategoriami niestety... DZIĘKUJĘ ZA TĄ POPRAWKĘ ! jest jeszcze jeden notice, ale ten to już z pewnością tutaj nie pomoże: Notice: Undefined variable: maincolor in /public_html/modules/posthemeoption/posthemeoption.php on line 346 posthemeoption.php: 345 // in case you need rgba color 346 $grbacolor = $this->hex2rgba($maincolor); Edited June 19, 2020 by MindFlyer (see edit history) Link to comment Share on other sites More sharing options...
design4VIP Posted June 19, 2020 Share Posted June 19, 2020 (edited) zapewne $maincolor bedzie gdzies pobierany z ustawien w konfiguracji modulu, moze brakuje utawien, zwraca NULL i tutaj bedzie krzaczylo. tez tak amo do sprawdzenia przez var_dump co ta zmienna przekazuje. wrzuc ponizej var_dump('grbacolor = ' .$grbacolor . '; maincolor = '.$maincolor); odswierz strone i powinno sie na samej gorze pokazac, jak nie (zniknie) to wejdz wzrodlo strony to powinno sie pojawic w pierwszej linijce, chyba, ze to juz zwracane jest w jakims hook, to powinno sie w jego okolicach pojawic Edited June 19, 2020 by design4VIP (see edit history) Link to comment Share on other sites More sharing options...
MindFlyer Posted June 20, 2020 Author Share Posted June 20, 2020 Hmmm... Teraz zwraca dokładnie to: Notice: Undefined variable: maincolor in /public_html/modules/posthemeoption/posthemeoption.php on line 346 Notice: Undefined variable: maincolor in /public_html/modules/posthemeoption/posthemeoption.php on line 347 string(41) "grbacolor = rgba(0,0,0,0.8); maincolor = " Kod jest dokładnie taki, jak proponowałeś: // in case you need rgba color 346 $grbacolor = $this->hex2rgba($maincolor); 347 var_dump('grbacolor = ' .$grbacolor . '; maincolor = '.$maincolor); Dodatkowo pojawiły się notice w BO - klikając w katalog (ale tylko przy wyborze 'wszystkich sklepów' multistore - bo zmieniając na którykolwiek sklep, a nie grupę, to tych notice nie ma: Notice w linii 33 w pliku /public_html/cache/smarty/compile/da/3c/97/da3c97eb0bf798b58beefcb8419dc4763835dcc9.file.tree_node_folder_radio.tpl.php [8] Undefined index: id_category Notice w linii 35 w pliku /public_html/cache/smarty/compile/da/3c/97/da3c97eb0bf798b58beefcb8419dc4763835dcc9.file.tree_node_folder_radio.tpl.php [8] Undefined index: id_category Notice w linii 39 w pliku /public_html/cache/smarty/compile/da/3c/97/da3c97eb0bf798b58beefcb8419dc4763835dcc9.file.tree_node_folder_radio.tpl.php [8] Undefined index: name a w tymże pliku mamy to: <?php if ($_valid && !is_callable('content_5ece6009b0ad74_23125476')) {function content_5ece6009b0ad74_23125476($_smarty_tpl) {?><?php if (!is_callable('smarty_modifier_escape')) include '/public_html/tools/smarty/plugins/modifier.escape.php'; ?> <li class="tree-folder"> <span class="tree-folder-name<?php if (isset($_smarty_tpl->tpl_vars['node']->value['disabled'])&&$_smarty_tpl->tpl_vars['node']->value['disabled']==true) {?> tree-folder-name-disable<?php }?>"> 33 <?php if ($_smarty_tpl->tpl_vars['node']->value['id_category']!=$_smarty_tpl->tpl_vars['root_category']->value) {?> <input type="radio" name="<?php echo $_smarty_tpl->tpl_vars['input_name']->value;?> 35 " value="<?php echo $_smarty_tpl->tpl_vars['node']->value['id_category'];?> "<?php if (isset($_smarty_tpl->tpl_vars['node']->value['disabled'])&&$_smarty_tpl->tpl_vars['node']->value['disabled']==true) {?> disabled="disabled"<?php }?> /> <?php }?> <i class="icon-folder-close"></i> 39 <label class="tree-toggler"><?php echo htmlspecialchars($_smarty_tpl->tpl_vars['node']->value['name'], ENT_QUOTES, 'UTF-8', true);?> </label> </span> <ul class="tree"> <?php echo smarty_modifier_escape($_smarty_tpl->tpl_vars['children']->value, 'UTF-8');?> </ul> </li> <?php }} ?> Link to comment Share on other sites More sharing options...
design4VIP Posted June 23, 2020 Share Posted June 23, 2020 musisz przegladnac plik i sprawdzic skad pobierany jest $maincolor, bo z wyniku var_dup ewidentnie go brakuje.... 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