ncti Posted August 6, 2019 Share Posted August 6, 2019 Cześć, Mam problem z zainstalowaniem modułu na jednym ze sklepów, natomiast na innym instaluje się bez komplikacji. Wyrzucam mi błąd:Następujące moduły mogą być zainstalowane niepoprawnie: prestahelplostcart : Gdzie szukać błędów tej instalacji? Na samym debugu niczego nie pokazuje. Link to comment Share on other sites More sharing options...
design4VIP Posted August 6, 2019 Share Posted August 6, 2019 (edited) A wersje sklepów na pewno identyczne? Albo w drugim sklepie był instalowany jakoś moduł, który już wrzucił plik zastępując kontroler w. /override. Sprawdź jakie pliki zastępuje moduł i czy nie ma już ich w. /override Edited August 6, 2019 by design4VIP (see edit history) Link to comment Share on other sites More sharing options...
ncti Posted August 6, 2019 Author Share Posted August 6, 2019 wersje sklepu na którym działa 1.6.1.17 niedziałający 1.6.1.15 Jak to dokładnie sprawdzić? Link to comment Share on other sites More sharing options...
design4VIP Posted August 7, 2019 Share Posted August 7, 2019 Musisz przeanalizować katalog modułu, a najlepiej funkcje install() kontrolera głównego modułu. Zobaczyć, które pliki nadpisuje i wygrywa do /override. Później zaglądać do /override przed instalacją modułu i sprawdzić czy już takie pliki nie istnieją. Jak istnieją to trzeba ręcznie połączyć pliki przepisujac lub poprawiając potrzebne funkcje Link to comment Share on other sites More sharing options...
ncti Posted August 7, 2019 Author Share Posted August 7, 2019 W katalogu modułu jest kilka plików, funkcja install jest tylko w jednym: installdb po prostu tworzy tabele(lub nie może ich stworzyć, stąd błędy?) jeśli chodzi o override, to nic się tam nie zmienia, ani nic nie dodaje. public function install() { if (!parent::install()) { return false; } if (!$this->installDB()) { return false; } if (false == Configuration::hasKey('PRESTAHELPLOSTCART_TOKEN')) { $token = md5(rand(99999, 99999999999) . time()); Configuration::updateValue('PRESTAHELPLOSTCART_TOKEN', $token); } Configuration::updateValue('PRESTAHELPLOSTCART_LAST_TIME', time()); return true; } Link to comment Share on other sites More sharing options...
ncti Posted August 7, 2019 Author Share Posted August 7, 2019 rozwiązane, moduł miał na sztywno ustawiony prefix tabeli i nie miał ich jak tworzyć Link to comment Share on other sites More sharing options...
design4VIP Posted August 7, 2019 Share Posted August 7, 2019 (edited) 1 hour ago, ncti said: rozwiązane, moduł miał na sztywno ustawiony prefix tabeli i nie miał ich jak tworzyć To akutar nie ma większego znaczenia. Jeżeli tylko moduł z tabeli korzysta to nawet dość racjonalne jest takie rozwiązanie. Ale błąd w takim wypadku jest w funkcji uninstall() modułu, że po usunięciu modułu nie usuwa tabel... Ewentualnie przy instalu powinno być "if not exists" Edited August 7, 2019 by design4VIP (see edit history) Link to comment Share on other sites More sharing options...
ncti Posted August 8, 2019 Author Share Posted August 8, 2019 Właśnie po zmianie na dynamiczny prefix moduł się zainstalował, ale i tak nie działa jak powinien Link to comment Share on other sites More sharing options...
design4VIP Posted August 8, 2019 Share Posted August 8, 2019 (edited) Owszem się zainstalował, bo utworzył nowa tabele z nowym prefix em, czyli teraz dwie takie same różniące się tylko prefix em. Bezsensowne zapychanie bazy śmieciami. Ale, jak odinstalujesz czy wyczyscisz moduł to będziesz miał dokładnie ten sam błąd co poprzednio. Puki nie poprawisz uninstall() czy install() [w twoim wypadku installDB()] to błąd nie zniknie i zawsze będzie się wysypywal Edited August 8, 2019 by design4VIP (see edit history) 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