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:
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:
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:
[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!