Press "Enter" to skip to content

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

Admin 0

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!

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…