El. prekyba · 2026
PrestaShop 1.7.6 atnaujinimas į 9.2
PrestaShop 1.7.6 parduotuvė su senais mokėjimų moduliais, vaikine tema, override ir savu kodu, žingsnis po žingsnio atnaujinta iki 9.2 ir išbandyta po kiekvieno žingsnio, kartu su viskuo, ko oficialus atnaujinimo įrankis nepranešė.
Skaityti visą aprašymą ↗
- Klientas
- Moonivo (mūsų sukurta bandomoji parduotuvė)
- Paslaugos
- PrestaShop atnaujinimas, Modulių ir temos taisymai, Testavimas
- Technologijos
- PrestaShop 1.7.6 → 8.2 → 9.2 PHP 7.1 → 8.1 Mollie PayPal Vaikinė tema Override Automatiniai naršyklės testai
- Kelias
- 1.7.6.7 → 8.2.8 → 9.2.0, PHP 7.1 → 7.2 → 8.1
- Parduotuvė
- Mollie, PayPal, atsiliepimai, norų sąrašas, analitika, vaikinė tema, override ir savas modulis
- Testavimas
- Prekės puslapis, krepšelis, pirkimas be registracijos, užsakymas ir administravimas po kiekvieno žingsnio
- Rasta
- Tylūs gedimai, kurių atnaujinimo įrankis nepranešė: nuo išjungtų mokėjimų iki neįrašomų GDPR sutikimų
- Rezultatas
- Visi puslapiai ir visas užsakymo kelias veikia PrestaShop 9.2, konsolėje klaidų nėra
Iššūkis
Dauguma parduotuvių, kurios dar veikia su PrestaShop 1.7, nėra švarūs diegimai. Jose yra prieš kelerius metus įdiegtų mokėjimų modulių, pritaikyta tema, vienas kitas override ir agentūros parašyto kodo. Oficialus atnaujinimo įrankis branduolį perkelia per kelias minutes, bet negali pasakyti, ar visa kita vis dar veikia. Parduotuvėje, kurią galime viešinti, norėjome parodyti, kaip ta spraga atrodo ir kaip ją uždarome.
Sukūrėme PrestaShop 1.7.6.7 parduotuvę tokią, kokios paprastai būna: 2020 m. Mollie ir PayPal versijos, prekių atsiliepimai, norų sąrašas ir analitika, vaikinė tema su savu bloku prekės puslapyje, override, pridedantis pristatymo datą, ir savas modulis, parašytas to meto įpročiais.
Ką padarėme
- Patikrinome parduotuvę prieš ką nors keisdami savo parengties patikra: modulius, temą, override ir serverį.
- Suplanavome kelią: pirma PHP 7.2 (dabartinis atnaujinimo įrankis su 7.1 neveikia), tada 1.7.6 → 8.2, PHP 8.1 ir 8.2 → 9.2.
- Atnaujinome kopiją oficialiu įrankiu ir pasilikome pilną kiekvieno žingsnio atsarginę kopiją.
- Po kiekvieno žingsnio leidome tą patį automatinį naršyklės testą: kiekvienas savas blokas prekės puslapyje, krepšelis, pirkimas be registracijos, užsakymo patvirtinimas ir pagrindiniai administravimo puslapiai.
- Sutaisėme, kas sugedo:
- mokėjimų modulius, kuriuos atnaujinimas tyliai išjungė;
- pasitikėjimo ženkliukus, kurie kiekviename puslapyje grąžino 404;
- kombinacijos pavadinimą, kuris be jokios klaidos tapo tuščias;
- modulio galinį tašką, kuris grąžino klaidą 500, o vėliau 403;
- override, kuris 9 versijoje būtų išjungęs visus prekių puslapius.
- Savą modulį perrašėme vieną kartą taip, kad tas pats kodas veiktų ir PrestaShop 8, ir 9. Išsaugotiems nustatymams pridėjome nedidelį atnaujinimo scenarijų.
- Išsaugojome PayPal, kai atnaujinimo įrankis siūlė jį išdiegti: jo paties pakeitimų sąraše nurodytas PrestaShop 9 palaikymas, ir 9.2 versijoje jis veikia.
- Dar kartą patikrinome rezultatą ir radome tai, ko neminėjo nė viena atnaujinimo ataskaita: oficialus GDPR modulis 9.2 versijoje nebeįrašė pirkėjų sutikimų, o mokėjimų modulių kode liko pašalintų funkcijų kvietimų.
Rezultatas
Parduotuvė veikia su PrestaShop 9.2 ir PHP 8.1: veikia visi puslapiai, visas užsakymo kelias ir administravimas, naršyklės konsolėje klaidų nėra. Kiekviena problema užrašyta su priežastimi ir sprendimu, o tuos pačius patikrinimus dabar darome kiekvieną kartą, kai atnaujiname parduotuvę.
Bandymas pravertė ir mūsų pačių įrankiui. Paaiškėjo, kur nemokama parengties patikra praleido vieną kvietimą ir kur rodė klaidas, kurių nebuvo. Abu dalykus pataisėme tą pačią dieną.