Press "Enter" to skip to content

Moduł do aktualizacji 1 kliknięciem (autoupgrade) – wymuszenie starej wersji v4.14.2

Admin 0

Jaką wersję modułu chcemy wymusić?

W innym artykule poruszaliśmy już jak wymusić starą wersję tego modułu dla PrestaShop 1.6:

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

Dziś skupimy się na nowszej wersji tego modułu. Chodzi o: v4.14.2.

Czy można użyć starą wersję modułu autoupgrade?

Moduł „Aktualizacja 1 kliknięciem” (nazwa kodowa: autoupgrade) ma niestety taką przypadłość, że jeśli sam moduł do aktualizacji nie jest aktualny – blokuje to możliwość jego działania:

Po prostu na checkliście w module zobaczysz taki krzyżyk i nie będize dało się przeprowadzic aktualizacji.. 🙁

A czasem zależy nam na użyciu starej wersji modułu, bo np. lepiej radzi ona sobie z aktualizacją do konkrentej wersji PrestaShop.

Z doświadczenia naszego zespołu wynika, że nie warto np. od razu aktualizować z najstarszej wersji PrestaShop 1.6 (obecnie 1.6.1.24) do najstarszej 1.7 (obecnie 1.7.8.10). Warto zrobić po drodze „przystanek” i najpierw podnieść 1.6 do wersji pośredniej (najlepiej  PrestaShop 1.7.6.2) następnie taką wersję już zaktualizować do 1.7.8.10. Jednocześnie zwiększająć wersję PHP.

Tak jak w przytoczonym wyżej innym artykule wystarczy mała modyfikacja kodu modułu aby wymusić aktualną wersję modułu i aby można było przeprowadzić aktualizację sklepu.

W przypadku tamtego artykułu wymuszaliśmy wersję v1.6.7 ale tutaj chcemy wymusić użycie wersji: v4.14.2. Jak nie trudno się domyśleć, diametralnie zmienił się kod tego modułu i tamta modyfikacja już nie zadziała. Dla tej nowszej wersji wykonaj czynności poniżej.

Zmiana kodu modułu

Zlokalizuj plik:

modules/autoupgrade/classes/UpgradeSelfCheck.php

Następnie znajdź funkcję:

public function isModuleVersionLatest()
{
    if (null !== $this->moduleVersionIsLatest) {
        return $this->moduleVersionIsLatest;
    }

    return $this->moduleVersionIsLatest = $this->checkModuleVersionIsLastest($this->upgrader);
}

Podobnie jak w poprzednim przypadku „urwij” jej realizację przez zwrócenie wartości true w jej środku:

public function isModuleVersionLatest()
{
    if (null !== $this->moduleVersionIsLatest) {
        return $this->moduleVersionIsLatest;
    }

    return true;

    return $this->moduleVersionIsLatest = $this->checkModuleVersionIsLastest($this->upgrader);
}

W ten sposób checklista będzie już prawidłowa, a aktualizacja odblokowana 😉

Aktualizacja sklepów PrestaShop

Na koniec autoreklama naszych usług 😉 Zapraszamy do skorzystania z oferty przeprowadzenia aktualizacji PrestaShop:

 

grafika: wallpaperaccess.com

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 !
Moduł psgdpr ("Oficjalna zgodność z RODO") i brak checkboxa w…