Pereiti prie turinio
← Visi straipsniai

Gidai · · 4 min skaitymo

Atnaujinimas į PrestaShop 9: kas sugenda ir kaip pasiruošti

PrestaShop 9 reikalauja PHP 8.1+, naudoja Symfony 6.4 ir naują prekės puslapį. Kas dažniausiai sugenda atnaujinant iš 1.7 ar 8 versijos, kokia darbų tvarka apsaugo veikiančią parduotuvę ir nuo ko pradėti.

Iliustracija – mėnulio apšviestos levandų kalvos ir atnaujinimo kortelė su keliu nuo PrestaShop 1.7 per 8.2 iki 9 bei modulių, temos, PHP ir užsakymo patikros sąrašu

PrestaShop 9 – didžiausias platformos pokytis per kelerius metus. Ji greitesnė, veikia su šiuolaikine PHP versija ir ilgai gaus saugumo atnaujinimus. Tačiau daugumai parduotuvių atnaujinimas nėra vienas paspaudimas administravime. Pirmiausia turi būti pasiruošę moduliai, tema ir serveris. Jei kuris nors nepasiruošęs, parduotuvė gali sugesti vidury darbo dienos.

Šiame gide paaiškiname, kas keičiasi PrestaShop 9, kas dažniausiai sugenda ir kokia darbų tvarka leidžia atnaujinti nestabdant pardavimų.

Kas keičiasi PrestaShop 9

Tik tie pokyčiai, kurie svarbūs atnaujinant:

  • PHP 8.1 arba naujesnė. PrestaShop 9 reikia bent PHP 8.1, 9.0 veikia iki PHP 8.4, 9.1 ir 9.2 – iki 8.5. PrestaShop 1.7 parduotuvės dažniausiai veikia su PHP 7.x, todėl keisti teks ir serverio nustatymus.
  • Symfony 6.4. Administravimo sistema pereina prie Symfony 6.4 LTS. Moduliai, kurie naudoja Symfony paslaugas, valdiklius ar formas, turi būti pritaikyti.
  • Senojo prekės puslapio nebėra. Naujasis prekės puslapis, atsiradęs 8.x versijose, dabar vienintelis. Senasis pašalintas kartu su savo „hook'ais“, todėl moduliai, kurie į jį pridėdavo skirtukus ar laukus, jų nebeparodo.
  • Daugiau administravimo veikia su Symfony. Puslapiai, perkelti iš senųjų valdiklių, netenka senųjų „hook'ų“, o moduliams, kurie tuos puslapius keitė, reikia atnaujinimų.
  • Nauja tema Hummingbird. Ji sukurta su Bootstrap 5. Temos, paremtos Classic, toliau veikia, todėl keisti temą galima, bet nebūtina.
  • Naujas Admin API integracijoms, šalia senojo Webservice.

Ar galima atnaujinti tiesiai iš 1.7?

Ne. Iš PrestaShop 1.7 pirmiausia atnaujinama į 8.1 arba 8.2, patikrinama, ar viskas veikia, ir tik tada pereinama į 9. Oficialus modulis Update Assistant (anksčiau 1-Click Upgrade) eina tuo pačiu keliu ir siūlo tik tas versijas, kurios tinka jūsų serverio PHP versijai.

Nežinote, kokia versija veikia jūsų parduotuvė? Patikrinkite pagal adresą: tai trunka kelias sekundes, o kartu parodomi ir parduotuvės puslapiuose matomi moduliai.

Dėl PHP skirtumo įprastas kelias toks:

  1. PrestaShop 1.7 su PHP 7.x → PrestaShop 8.2 su PHP 7.4 arba 8.1.
  2. Serveris perjungiamas į PHP 8.1 arba naujesnę.
  3. PrestaShop 8.2 → PrestaShop 9.

Jei jau turite PrestaShop 8.1 ar 8.2, galite pradėti iškart nuo 2 žingsnio.

Kas dažniausiai sugenda

Moduliai

Daugiausia problemų atnaujinant sukelia moduliai. Tipiški atvejai:

  • Modulis nurodo, kad palaiko tik versijas iki 8.x, todėl PrestaShop 9 atsisako jį įdiegti ar įjungti.
  • Jis naudoja PHP funkcijas ar sintaksę, kurių naujesnės PHP versijos nebepriima, ir puslapis rodo baltą ekraną arba 500 klaidą.
  • Jis papildydavo senąjį prekės puslapį, todėl jo laukai dingsta redaguojant prekes.
  • Jis remiasi Symfony ar Twig dalimis, kurios pasikeitė Symfony 6.4 versijoje.
  • Jis nebeprižiūrimas, ir PrestaShop 9 versijos tiesiog nėra.

Susidarykite visų įdiegtų modulių sąrašą su autoriumi ir versija, tada patikrinkite kiekvieną: ar yra PrestaShop 9 versija, ar atnaujinimas nemokamas ar mokamas, ar modulis apskritai dar naudojamas? Daug parduotuvių pamato, kad trečdalį modulių galima tiesiog pašalinti.

Override'ai

Override'ai pakeičia branduolio klases. Kai branduolio klasė pasikeičia, override'as arba sugenda, arba tyliai grąžina seną elgseną. Prieš atnaujinimą peržiūrėkite aplanką override/. Kiekvienas failas jame turi turėti priežastį likti.

Tema

Classic pagrindu sukurta tema atnaujinimą dažniausiai atlaiko. Problemos kyla dėl šablonų pakeitimų, padarytų tiesiai temos failuose, senų JavaScript bibliotekų ir modulių, kurie per temą prideda savo šablonus. Temą išbandykite kopijoje: pradinis puslapis, kategorija su filtrais, prekės puslapis su kombinacijomis, krepšelis ir užsakymo pateikimas.

Integracijos

Ryšius su ERP, apskaita, sandėliais, kurjeriais ir prekyvietėmis reikia tikrinti atidžiausiai, nes klaidos ten ekrane nesimato. Užsakymas, nepasiekęs sandėlio, pastebimas tik tada, kai parašo pirkėjas. Patikrinkite, ar užsakymai, likučiai ir kainos vis dar keliauja į abi puses.

Saugi darbų tvarka

  1. Padarykite pilną parduotuvės kopiją – failų ir duomenų bazės – bandomajame serveryje su reikiama PHP versija.
  2. Toje kopijoje peržiūrėkite modulius, override'us ir temą. Pašalinkite, kas nenaudojama, o likusiems nupirkite arba paprašykite PrestaShop 9 versijų.
  3. Atnaujinkite kopiją su Update Assistant, eidami per 8.2, jei pradedate nuo 1.7.
  4. Sutvarkykite, kas sugedo (dažniausios atnaujinimo klaidos ir jų sprendimai) ir išbandykite visą pirkėjo kelią: paiešką, filtrus, prekės puslapį, krepšelį, kiekvieną apmokėjimo ir pristatymo būdą, užsakymo laiškus ir sąskaitas.
  5. Išbandykite administravimą: prekių kūrimą ir redagavimą, užsakymus, grąžinimus ir modulių nustatymus.
  6. Suplanuokite perjungimą ramiu metu, su nauja atsargine kopija ir galimybe grįžti atgal.
  7. Stebėkite pirmąsias dienas po perjungimo: klaidų žurnalus, užsakymus, mokėjimus ir Search Console.

Veikiančioje parduotuvėje kartojate tik 3 ir 6 žingsnius, nes visa kita jau išspręsta kopijoje.

Ar atnaujinti dabar?

Atnaujinkite netrukus, jei parduotuvė veikia su PrestaShop 1.7 arba PHP 7.x: nei viena, nei kita nebegauna saugumo atnaujinimų, o mokėjimų moduliai pamažu nustoja palaikyti senas versijas. Jei turite 8.2 ir viskas veikia, perėjimą galite planuoti ramiai, bet modulių peržiūrą padarykite anksčiau. Ji parodo, koks iš tikrųjų didelis darbas laukia. Ką praktiškai reiškia, kad 1.7 nebepalaikoma, paaiškinta straipsnyje PrestaShop 1.7 nebepalaikoma, o kokios PHP reikia kiekvienai versijai – PrestaShop ir PHP versijos.

Kontrolinis sąrašas

  • Visų modulių sąrašas su versijomis ir PrestaShop 9 palaikymu (nemokamas modulis jį sudaro už jus)
  • Nenaudojami moduliai ir override'ai pašalinti
  • Talpinimas palaiko PHP 8.1 arba naujesnę
  • Bandomoji kopija su reikiama PHP versija
  • Pasirinktas kelias: per 8.2 arba tiesiai iš 8.x
  • Tema ir užsakymo pateikimas išbandyti kopijoje
  • Integracijos išbandytos: užsakymai, likučiai, kainos
  • Atsarginė kopija ir galimybė grįžti perjungiant veikiančią parduotuvę

Reikia pagalbos?

PrestaShop parduotuves į 9 versiją atnaujiname už fiksuotą kainą nuo 900 €, visada pirmiausia kopijoje, kad veikianti parduotuvė toliau prekiautų. Mūsų pačių Image Map modulis veikia su PrestaShop nuo 1.7 iki 9.1, todėl su šiais versijų skirtumais susiduriame kasdien. Jei nesate tikri, kur yra jūsų parduotuvė, pirmiausia paleiskite mūsų nemokamą PrestaShop 9 parengties patikrą. Ji parodo, ko atnaujinimas pareikalautų, dar prieš jums apsisprendžiant, o kaip ją skaityti, paaiškiname žingsnis po žingsnio.

Turite projekto idėją?

Papasakokite, ką kuriate. Per 24 valandas gausite konkretų pasiūlymą su kaina ir terminais.

Gauti pasiūlymą