Blog
Na to stránce se pokusím popsat všechny známé problémy při instalaci nebo případných chybách modulů a to nejen z mé dílny.
Nejčastěji objevujícím se problémem při instalaci je přepisování souborů ve složce root/override
Pokud modul nějakým způsobem upravuje soubory jádra Prestashopu, pak je to řešeno právě soubory ve složce override. Při výskytu této chyby je potřeba udělat následující kroky:
- rozbalit soubor s instalací modulu a najít složku module_name/override a zmíněný soubor
- použijte svého klienta FTP a proveďte vyhledání stejného souboru nyní na svém hostingu root/override
- porovnejte oba soubory zda obsahují jen stejné functions, pokud se vyskytne nějaký rozdíl pak se jedná o instalaci functions jiného modulu. V tomto případě se nejpíše budete muset obrátit na autory modulů a požádat je o případné sladění funkcí tak aby moduly mohli fungovat souběžně. Můžete také narazit na na první pohled rozdílné soubory, ale může se jednat o stejný jen aktualizovaný soubor, to v případě že je přepisována stejná functions, ale tato obsahuje jiné funkce.
Nyní máte na výběr jak nakládat se soubory override:
A) soubory se shodují, nebo se shodují funkce obsažené v souboru ze složky module_name/override/ v root/override/
- stačí přejmenovat soubor ve složce module_name/override/ např na _GuesTrackingController.php
- provedete kontrolu u všech souborů obasažených ve složce module_name/override/
- můžete provést instalaci modulu kdy soubory overrides nebudou kopírovány
B) pokud nalezené funkce nejsou shodné, ale na první pohled obsahují jen drobné odlišnosti
- překopírujte soubor ftp klientem ze složky module_name/override/ do root/override/
- přejmenujte soubor ve složce module_name/override/ např na _GuesTrackingController.php
- můžete provést instalaci modulu kdy soubory overrides nebudou kopírovány, ale předchozím kopírováním máte aktuální verze overrides
C) pokud nalezené funkce se vůbec neshodují
- zkontrolujte zda se nejedná o pozůstatek nějakého původně naistalovaného modulu, v tom případě funkce vymažte dle obrázku níže
- pokud se jedná o funkce které přidal jiný modul a jsou pro jeho funkčnost nezbytné požádejte jeho autora o přidání funkčnosti override pro nově instalovaný modul
Po provedení všech kroků je možno modul instalovat, může se stát, že se stejné hlášení znovu objeví, ale u jiného souboru, proto je před další instalací nutné provést předchozí kroky a upravit všechny soubory obsažené ze složky override instalovaného modulu.
V případě chyby Neúplná instalace, soubory override nejsou správné, přeinstalujte modul! je potřeba překontrolovat zda se nacházejí stejné soubory ve složce root/override/ jako ve složce modulu, pokud tomu tak není stačí tyto soubory překopírovat a nakonec vymazatat soubor class_index.php
Na závěr doporučuji provést reindexaci souboru class_index.php ten se provede po jeho fyzickém vymazání, proto soubor vymažte z následujících umístění:
A) Prestashop 1.5 -> 1.6
- root/cache/class_index.php
B) Prestashop 1.7 -> 1.7.3
- root/app/cache/dev/class_index.php
- root/app/cache/prod/class_index.php
C) Prestashop 1.7.4
- root/var/cache/dev/class_index.php
- root/var/cache/prod/class_index.php