Právě teď jsem dokončil aktualizaci mého oblíbeného Prestashopu z verze 1.4.1 na verzi 1.4.9 final. Zkusím se tu s vámi podělit o to, jak to vše probíhalo. Ne každý šprechtí angličtinou, aby si mohl přelouskat anglický návod, který doposavad nechápu.
Hezky postupně
Proč nenasazuju novější verzi, když již je verze 1.5.3? Předně, protože používám platební bránu GoPay, jejichž vývojáři zatím spí na vavřínech a pro novější verzi zatím není plugin. Prý na pluginu pracují, takže doufám, že budu moci přejít na novější co nejdříve.
Jak na ruční aktualizaci PS (na obrázky mrkněte v anglickém manuálu)?
Jestli si něco zmatláte, je to jen váš problém, riziko berete na sami na sebe.
0 – promyslete si, jestli budete mít vámi dohrávané pluginy k dispozici pro novou verzi a samozřejmě také češtinu.
1 – Předně udělejte kompletní zálohu stávajícího e-shopu (databáze a soubory). Pokud nevíte jak, radši aktualizaci nechte na někoho jiného.
2 – Deaktivujte e-shop, jinak vás zákazníci sežerou za nefunkčnost stránek (záložka Preference, první položka) a zadejte svou IP adresu do políčka „IP pro údržbu“. Pro tuto IP bude obchod stále aktivní.
3 – V manuálu se doporučuje udělat zálohu překladů, ale to jsem přeskočil, protože vím, že pro mou verzi je plně „hotová“, zdůrazňuji ty uvozovky.
4 – Stáhněte si požadovanou verzi Prestashopu a rozbalte ho.
Nechápu proč, ale je v manuálu je doporučeno instalaci nahrát do separátního adresáře Prestahop, ale tak nějak jsem nepochopil, k čemu je to dobré, takže tohle zde nebudu rozebírat. Sice jsem to dělal přesně podle manuálu, ale ve výsledku jsem si tím jen zkomplikoval život, takže to nedělejte.
5 – Obsah adresáře Prestashop nahrajte na web do stávajícího adresáře s instalací.
6 – Nyní do URL vašeho e-shopu připište /install a spusťte instalaci
7 – Vyberte si v instalačním průvodci Update a odklikejte další kroky. Instalátor vám nabídne deaktivaci pluginů, tak to využijte, je to dobrá věc.
8 – Aktualizace je hotová a nyní se pojďte podívat na tu spoušť. Pro lepší hledání nefunkčních pluginů zapněte na stránkách povolení vypisovat chyby. Způsob zapnutí vypisování chyb PHP bude u každého trochu jiný, takže to tady nebudu rozebírat. Snad jen u Českého hostingu se to zapíná v administraci webu (hned první položka). Zde si neodpustím narážku, ale Český hosting skutečně není dobrý pro hostování Prestashopu, proto ho také budu již brzy přesouvat na svou VPSku.
S čím jsem se musel prát? Předně s PayPal(em), který nemyslel na nás čecháčky. Je potřeba do souboru logos.xml (viz. adresář s pluginem) doplnit před tag </logos> následující:
https://www.paypal.com/en_GB/Marketing/i/logo/PayPal_logo_80x35.gif https://www.paypal.com/en_GB/Marketing/i/logo/PayPal_logo_100x45.gif https://www.paypal.com/en_GB/Marketing/i/logo/PayPal_logo_150x65.gif https://www.paypal.com/en_GB/GB/i/logo/PayPal_mark_37x23.gif https://www.paypal.com/en_GB/GB/i/logo/PayPal_mark_50x34.gif https://www.paypal.com/en_GB/GB/i/logo/PayPal_mark_60x38.gif https://www.paypalobjects.com/fr_XC/i/bnr/horizontal_solution_PPeCheck.gif https://www.paypalobjects.com/fr_XC/i/bnr/vertical_solution_PPeCheck.gif
V nastavení je potřeba pak nastavit jinou zemi, než Českou republiku, jinak vám to bude házet chybu “ You need to complete the PayPal identification Information in step 3 otherwise you won’t be able to accept payment.“. Já tam dal Británii a vše začalo fungovat.
Opět vám na fakturách nebude fungovat čeština. Tu je potřeba stáhnout a nahrát do adresáře /tools/fpdf/font a nastavit kódování cp1250 a font arialmt. Dále v souboru classes/Tools.php nahraďte následující:
return str_replace(array('€', '£', '¥'), array(chr(128), chr(163), chr(165)), $ret); za return str_replace(array('€', '£', '¥'), array(chr(128), chr(163), chr(165)), iconv('UTF-8','CP1250',$ret));
To je asi tak v jednoduchosti vše. Samozřejmě, že jsem musel aktualizovat pár pluginů, ale ty co mám, asi nepoužíváte, takže nemá smysl o nich psát. Nezapomeňte vše pečlivě otestovat. Až budu přecházet na vyšší verzi, opět dám vědět jak to probíhalo.