Press "Enter" to skip to content

PrestaShop 1.6 – moduł automatycznej akualizacji. Jak wymusić starą wersję modułu autoupgrade?

Admin 5

Wersje sklepu i modułu

Artykuł dotyczy:

  • sklepu PrestaShop w wersji: 1.6.1.4
  • modułu autoupgrade w wersji: v1.6.7 (link do pobrania w dalszej części artykułu)

Blokada akutalizacji – za stara wersja modułu

Podczas aktualizacji starych wersji PrestaShop 1.6 możemy natrafić na sytuację, że moduł „Aktualizacja 1 kliknięciem” (nazwa kodowa autoupgrade) wymaga.. zakutalizowania samego siebie:

Bez tej czynności akutalizacja jest zablokowana i nic nie możemy zrobić (nie da się tego pominąć).

Jest to o tyle problematyczne, że nowa wersja może nie zadzialać poprawnie z naszą starą wersją PrestaShop. Może np. być niekompatybilna z zastaną wersją PHP na serwerze.

Po za tym musimy pozyskać nową wersję ze strony:

http://addons.prestashop.com/en/administration-tools-prestashop-modules/5496-1-click-upgrade-autoupgrade.html

zainstalować ją, a i tak nie zawsze zakutalizuje nam sklep tak jak chcemy.

Nowsza wersja autoupgrade może wymusić rollback podczas aktualizacji (konieczność cofnięcia czynności) i ogólnie mamy niezłe bagno ze sklepem – częsciowo zakutalizowane moduły, niedokończona akutalizacja bazy itp.

Poruszaliśmy to m.in. w artykule:

Problem z modułem do akutalizacji PrestaShop 1.6 – Błąd podczas aktualizacji bazy danych. Może trzeba przywrócić bazę danych.

Przedstawiamy tu prosty sposób na obejście tego problemu 🙂 Po prostu odpowiednio „shackuj” moduł autoupgrade 😀

Oferta akutalizacji PrestaShop

UWAGA! Samodzielne przeprowadzanie akutalizacji sklepu niesie ze sobą niebezpieczeństwo poważnego uszkodzenia instalacji PrestaShop. Spowoduje to zatrzymanie sprzedaży i straty pieniężne (brak zamówień). Jeśli nie czujesz się na siłach aby wykonać taki proces rozważ powierzenie jej profesjonalistom:

WAŻNE – ceny podane przy tej usłudze są orientacyjne. Każde zlecenie jest wyceniane indywidualnie!

Zapewniamy kopię bezpieczeństwa bazy i plików przed wykonaniem jakichkolwiek czynności. Wykonujemy akutalizacje do najnowszych gałęzi 1.7 oraz jeszcze do 1.6.

SHackowanie modułu

Wracając do modyfikacji, otwórz plik:

modules/autoupgrade/AdminSelfUpgrade.php

Następnie znajdź kod:

public function checkAutoupgradeLastVersion()
{
    if ($this->getModuleVersion())
        $this->lastAutoupgradeVersion = version_compare($this->module_version, $this->upgrader->autoupgrade_last_version, '>=');
    else
        $this->lastAutoupgradeVersion = true;

    return $this->lastAutoupgradeVersion;
}

I przed wystąpieniem kodu return wstaw wymuszenie zwracania true. Czyli:

public function checkAutoupgradeLastVersion()
{
    if ($this->getModuleVersion())
        $this->lastAutoupgradeVersion = version_compare($this->module_version, $this->upgrader->autoupgrade_last_version, '>=');
    else
        $this->lastAutoupgradeVersion = true;
    
    return true;

    return $this->lastAutoupgradeVersion;
}

W tym momencie moduł uznaje swoja wersje za akutalną i możesz spróbować wykonać akutalizację za pomocą zastanej wersji modułu autoupgrade 🙂

Jeśli chcesz to cofnąć po prostu zakomentuj lub usuń wstawioną nową linię.

Co ciekawe – moduł autoupgrade zostanie wręcz pominięty na liście modułów do akutalizacji. I tak po skończonym procesie podnoszenia wersji PrestaShop na liscie modułów jako jedyny moduł nieakutalny będzie widoczny moduł „Aktualizacja 1 kliknięciem”:

Stara wersja modułu do pobrania

Jeśli interesuje Cię pobranie użytej wersji modułu autoupgrade link do pliku ZIP znajduje się poniżej:

autoupgrade_v1.6.7.zip

[suma MD5: bbe51f9be6c2c5add580e65147e4ea4e]

 

Nam udało się z powodzeniem zakualizować sklep PrestaShop 1.6.1.4 do 1.6.1.24 za jego pośrednictwem 🙂

Powodzenia!

  1. Justyna Kaczmarek Justyna Kaczmarek

    Cześć,

    Twój artykuł pomógł mi w pierwszej części aktualizacji, miałam dokładnie ten sam błąd, że moduł wymagał ciągłej aktualizacji. Udało mi się zaktualizować sklep do wersji 1.6.1.24, chciałam teraz przejść do aktualizacji na prestę 1.7 jednak mam dalej ten błąd, moduł się jednak zmienił (korzystałam z wersji 4.11.0) i nie mogę teraz tego zmienić, czy jest jakaś szansa na obejście tego problemu?

  2. Admin Admin

    Czyli chcesz @Justyna przywrócić wersję 4.11.0 modułu autoupgrade? Hmm a odinstalowanie bieżącej wersji tego modułu i wgrane 4.11.0 np. znalezionego w Internecie? Ewentualnie moze Twój dostawca hostingowy może przywrócić zawartość folderu modules/autoupgrade z przed zmian i taki moduł zainstaluj ponownie.

  3. Justyna Justyna

    Hej, próbowałam już różnych wersji tego modułu pobierając z oficjalnego repozytorium i za każdym razem dostaję ten sam błąd – moduł wymaga aktualizacji, przez co nie mogę dokonać aktualizacji presty. Wyczytałam też, że aktualizacja presty do wersji 1.7 za pomocą tego modułu to nie jest dobry pomysł ponieważ zmieniła się w dużej mierze struktura plików i strona raczej nie zadziała. Sklep, który chcę zaaktualizować jest postawiony na szablonie – twórcy szablonu nie mają aktualizacji tego szablonu pod prestę 1.7 niestety. Czy mógłbyś mi doradzić w jaki inny sposób mogę dokonać aktualizacji – czy konieczne jest postawienie nowej presty, wgranie nowego szablonu i starej bazy danych? Tylko, że baza powinna zostać również zaaktualizowana i to myślałam właśnie, że zrobię za pomocą tego modułu autoupgrade i dopiero po tej aktualizacji wgram bazę na nowo postawioną prestę

    • Admin Admin

      Aby usunąć komunikat o aktualizacji trzeba zakomentować odp. linię kodu. Wtedy nie będzie blokady przy aktualizacji.

      Dokładnie jak poniesiesz wersję z 1.6 do 1.7 to szablon z 1.6 nie zadziała. Potrzebny jest szablon obsługujący tą wersję.

      Jeśli wykonasz aktualizację za pomocą modułu – zaktualizuje się baza danych, natomiast pozostałości po 1.6 w plikach mogą pozostać. Tak samo z modułami, hook’ami, przypisaniami modułów itp. najlepiej jest zakualizować do danej wersji 1.7 (obsługiwanej przez nowy szablon) i przenieść asortyment klienci, adresy, kategorie, produkty, stare zamówienia itp. do nowej bazy na czystej aktualizacji.

      Tutaj jest to opisane jak zrobić: https://pskrk.com/aktualizacja-prestashop-do-1-7-dane-starego-sklepu-w-zupelnie-czystej-instalacji-ps17/

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Zobacz także !
Przekierowanie ruchu całej domeny na adres sklepu który jest po…