Přetížení šablon modulů v tématu Prestashopu

25.2.2014

Šablony modulů v Prestashopu se dají v tématu přetížit a zabránit tak problémům se sdílením kódu mezi různými tématy. Způsoby přetěžování jsou různé pro jednotlivé typy souborů a navíc se celý systém přetěžování liší podle toho, zda má modul starou a nebo novou (od verze 1.5) adresářovou strukturu. Sepsala jsem návod jak na to, a co dělat, když to nefunguje.

Přetížení šablon ve starší adresářové struktuře

Soubory .tpl, .css a .js modulu bývají přímo v adresáři modulu:

Pro přetížení v tématu je zkopírujeme do následujících adresářů:

Přetížení šablon od verze 1.5

V Prestashopu s vyšší verzí, než 1.5 by měla (ale nemusí) adresářová struktura modulů vypadat jinak:

Tyto soubory by v tématu měly být v těchto adresářích:

Když to nefunguje

  • Některé moduly nedodržují doporučený formát adresářové struktury a proto se po přetížení soubor stále načítá přímo z modulu. To se dá vyřešit zkopírováním adresářové struktury přímo z modulu, například v tomto modulu jsou styly a javascripty navíc v adresářích css/ a js/:

    Abychom je v tématu přetížili, umístíme je sem:

  • Pokud se soubory šablony nenačtou ani přetížené v tématu, ani přímo z adresáře modulu, je pravděpodobně špatně definovaná cesta v kódu modulu. Většinou je to v souboru /modules/nejakejmodul/nejakejmodul.php a vypadá to takhle: