Gidai · · 4 min skaitymo
Ar jūsų parduotuvė pasiruošusi PrestaShop 9? Kaip patikrinti per valandą
Prieš planuodami atnaujinimą į PrestaShop 9, sužinokite, kas sugestų. Ką tikrinti moduliuose, override'uose, temoje ir serveryje, kaip tai padaryti rankiniu būdu ir nemokamas modulis, kuris tai padaro už jus.
Dauguma nepavykusių atnaujinimų į PrestaShop 9 buvo nulemti dar prieš pradedant. Plane buvo parašyta „vienas savaitgalis“, o paskui paaiškėjo, kad mokėjimo modulis, du override'ai ir senas slankiklis naudoja kodą, kurio PrestaShop 9 nebeturi. Pats atnaujinimas yra lengvoji dalis. Kainą nulemia tai, ar žinote, kas sugestų.
Šiame gide parodome, kaip tai sužinoti prieš apsisprendžiant: į ką žiūrėti, kur ieškoti ir kaip suprasti, ką radote. Jei jums reikia pačio atnaujinimo žingsnių, skaitykite Atnaujinimas į PrestaShop 9: kas sugenda ir kaip pasiruošti.
Kas lemia, ar parduotuvė pasiruošusi
Keturi dalykai, ta tvarka, kuria dažniausiai kelia bėdų:
- Moduliai. Kiekvienas trečiųjų šalių modulis arba turi PrestaShop 9 versiją, arba gali būti pataisytas, arba turi būti pakeistas. Daugiausia problemų būna čia.
- Override'ai. Failai aplanke
override/pakeičia branduolio kodą. PrestaShop 9 pakeitė daug branduolio klasių ir jų metodams pridėjo grąžinamus tipus, todėl senas override'as gali sustabdyti visą parduotuvę su lemtinga klaida vos tik įsikėlęs. - Tema. Šablonai, kurie remiasi pašalintais kintamaisiais, senomis JavaScript bibliotekomis ar senuoju prekės puslapiu.
- Serveris. PHP 8.1 ar naujesnė, duomenų bazės versija, keli nustatymai ir funkcijos, kurias PrestaShop 9 pašalino.
Moduliai: žiūrėkite į kodą, ne į versijos numerį
Modulio deklaruojamos versijos mažai ką pasako. Daug modulių rašo, kad palaiko „1.7–8“, ir veikia su 9, o kai kurie rašo „iki 9“, bet vis dar kviečia nebeegzistuojančius metodus.
Kas iš tikrųjų sugadina modulį su PrestaShop 9:
- Pašalintos klasės ir metodai. Pavyzdžiui,
Tools::displayPrice(),Tools::jsonEncode()irController::ajaxDie()nebėra. Juos kviečiantis modulis sustoja su lemtinga klaida tame puslapyje, kuriame naudojamas. - Hook'ai, kurie nebeveikia. Senasis prekės puslapis ir keli administravimo puslapiai perdaryti, o kartu dingo ir jų hook'ai. Modulis įsidiegia, bet jo laukai ar skirtukai tyliai išnyksta.
- Servisai, kurie pervadinti ar pašalinti administravimui perėjus į Symfony 6.4.
- PHP 8 sintaksė. PHP 5 ar 7 laikų kodas, pavyzdžiui, eilutės simbolių kreipiniai riestiniais skliaustais ar pašalintos funkcijos kaip
create_function(), išvis neįsikelia. - Tiesioginė prieiga prie PHP failų. Apache serveryje PrestaShop 9 neleidžia naršyklei atidaryti PHP failų modulių aplankuose, todėl seni AJAX adresai nustoja atsakinėti.
Norėdami patikrinti rankiniu būdu, susirašykite visus modulius, kurių autorius nėra PrestaShop, ir kiekvieno modulio aplanke paieškokite pašalintų pavadinimų. Tai lėta, bet parodo, su kuo turite reikalų. PrestaShop moduliai atnaujinami kartu su parduotuve, juos galite praleisti.
Override'ai: kiekvienam failui reikia priežasties
Atidarykite aplanką override/. Kiekvienas ten esantis failas pakeičia dalį branduolio, ir kiekvieną reikia patikrinti su PrestaShop 9, net jei atrodo nekaltas.
Pavojingiausias atvejis yra override'as, kuris perrašo metodą, kuriam PrestaShop 9 pridėjo grąžinamą tipą. PHP atsisako įkelti klasę, kurios metodas nesutampa su tėvine klase, todėl klaida neapsiriboja vienu puslapiu: sustoja visa parduotuvė. Pašalinkite nebereikalingus override'us, o likusius perrašykite prieš atnaujinimą, ne po jo.
Tema
Classic pagrindu sukurta tema dažniausiai išgyvena. Sugenda tai, kas joje pritaikyta: šablonai, naudojantys kintamuosius, kurių PrestaShop 9 nebeperduoda, moduliai, įdedantys savo šablonus į temą, seni jQuery papildiniai. Lengviausias atvejis yra vaikinė tema, nes pakeitimai vienoje vietoje.
Temos neįmanoma visiškai įvertinti vien skaitant failus. Kopijoje teks perspausti pradžios puslapį, kategorijas su filtrais, prekę su kombinacijomis, krepšelį ir kiekvieną mokėjimo būdą.
Serveris ir nustatymai
- PHP 8.1 ar naujesnė. Dauguma talpinimo paslaugų teikėjų leidžia versiją pakeisti valdymo skydelyje. Pirmiausia išbandykite kopijoje, nes seni moduliai ten dažnai neveikia.
- MySQL 5.7+ arba MariaDB 10.2+, o lentelės InnoDB, ne MyISAM.
- Išplėstinis atsargų valdymas ir pristatymas keliais adresais PrestaShop 9 pašalinti. Jei juos naudojate, prieš atnaujinimą nuspręskite, kuo juos pakeisite.
- SMTP su SSL nebesiūlomas. Paštą perjunkite į TLS (dažniausiai prievadas 587).
Leiskite skaityti moduliui
Rankinis kiekvieno modulio skaitymas parduotuvėje su penkiasdešimt modulių užtrunka kelias dienas. Todėl patikrą įdėjome į nemokamą modulį PrestaShop 9 parengties patikra.

Įdiekite jį kaip bet kurį modulį, atidarykite Išplėstiniai parametrai > PrestaShop 9 patikra ir spauskite Patikrinti parduotuvę. Maždaug per minutę jis:
- perskaito kiekvieno modulio, temos ir override'ų kodą ir palygina jį su daugiau nei 1 000 klasių, metodų, hook'ų ir servisų, kuriuos PrestaShop 8 ir 9 pašalino ar pakeitė, taip pat su PHP 8 sintakse ir funkcijomis;
- patikrina serverį: PHP versiją ir plėtinius, atmintį, duomenų bazę, lentelių variklius ir PrestaShop 9 pašalintas funkcijas;
- kiekvieną modulį pažymi kaip reikia atnaujinti arba pakeisti, verta patikrinti arba problemų nerasta, prie kiekvieno radinio nurodo failą ir eilutę;
- apytiksliai įvertina atnaujinimo apimtį: paprasta, vidutinė ar sudėtinga;
- ataskaitą išsaugo PDF formatu, kurį galite nusiųsti programuotojui ar tam, kas sprendžia dėl atnaujinimo.
Jis tik skaito: nekeičia failų ar nustatymų ir niekur nieko nesiunčia. Veikia su PrestaShop 1.7, 8 ir 9, lietuvių, anglų ir prancūzų kalbomis. Parduotuvėje, kuri jau veikia su PrestaShop 9, jis parodo, kas dar naudoja pašalintą kodą. Tai padeda, kai po atnaujinimo kažkas sugedo.
Gaukite nemokamą modulį: palikite el. pašto adresą ir atsiųsime atsisiuntimo nuorodą.
Kaip suprasti ataskaitą
- Reikia atnaujinti arba pakeisti reiškia, kad kodas naudoja tai, ko PrestaShop 9 neturi. Pirmiausia ieškokite modulio autoriaus atnaujinimo. Jei jo nėra, modulį reikia pataisyti arba pakeisti.
- Verta patikrinti reiškia, kad kodas liečia pašalintą kodą, bet tikriausiai su tuo susitvarko, pavyzdžiui, pirmiausia patikrina PrestaShop versiją, arba radinys yra kartu su moduliu pateiktoje bibliotekoje. Šiuos modulius išbandykite kopijoje.
- Override'ai rodomi visada, nes kiekvieną reikia peržiūrėti, net jei niekas nepažymėta.
- Atnaujinimo apimtis yra gairė, ne pasiūlymas. Nestandartinis kodas gali slėpti daugiau, nei randa bet kuri automatinė patikra.
Atminkite, ko nemato jokia priemonė: ar užsakymai vis dar keliauja į sandėlį, ar veikia sinchronizacija su apskaitos sistema, kaip atrodo tema. Ataskaita parodo, kur žiūrėti, o likusį atsakymą duoda bandymas kopijoje. Jei po atnaujinimo vis dėlto atsiranda klaidų, dažniausių PrestaShop 9 atnaujinimo klaidų sąrašas paaiškina, ką kiekviena reiškia, o dažniausioms žinutėms turime po puslapį su tiksliu sprendimu.
Reikia pagalbos?
Jei ataskaita parodo daugiau darbo, nei norite imtis patys, PrestaShop parduotuves į 9 versiją atnaujiname už fiksuotą kainą nuo 900 €: atnaujiname arba pakeičiame pažymėtus modulius, sutvarkome override'us ir temą, o veikiančią parduotuvę perjungiame iš išbandytos kopijos, kad ji toliau prekiautų. Atsiųskite mums ataskaitą ir tikslią kainą sužinosite prieš pradedant darbą.