Jump to content

Problem z instalacją modułu


ncti

Recommended Posts

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

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

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

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 by design4VIP (see edit history)
Link to comment
Share on other sites

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 by design4VIP (see edit history)
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...