Jump to content
ncti

Problem z instalacją modułu

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.

Share this post


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

Share this post


Link to post
Share on other sites

wersje sklepu na którym działa 1.6.1.17
niedziałający 1.6.1.15
Jak to dokładnie sprawdzić?

 

Share this post


Link to post
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 

Share this post


Link to post
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;
    }

 

Share this post


Link to post
Share on other sites

rozwiązane, moduł miał na sztywno ustawiony prefix tabeli i nie miał ich jak tworzyć

Share this post


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

Share this post


Link to post
Share on other sites

Właśnie po zmianie na dynamiczny prefix moduł się zainstalował, ale i tak nie działa jak powinien :)

Share this post


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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More