Doplněk Error

Vít Petira 2 minuty, 8 sekundy 706 grav twig šablony doplňky markdown

Doplněk Error se instaluje společně s balíčkem jádra Grav CMS a zajišťuje zobrazení chybové stránky v případě, že na zadané adrese není nalezena odpovídající stránka.

Error 404Po instalaci systému je doplněk funkční a není třeba jej nijak zvlášť nastavovat. Lze jej dle potřeby deaktivovat, popř. i smazat, ale stejně jako v případě doplňku Problems uvedené nedoporučuji. Místo odpovídajícího výstupu v podobě chybové stránky byste se dočkali pádu systému.

Ve výchozím nastavení Grav zobrazí vlastní chybovou stránku, která je uložena ve složce /user/plugins/error/pages/error.md a následně zpracovaná šablonou stránky error.html.twig aktivní šablony webu. Zobrazené texty pak odpovídají nastavení v hlavičce stránky error.md a předdefinovaným řetězcům v souboru languages.yaml, který je uložen v kořenové složce doplňku Error.

V případě, že vám uvedené nastavení nevyhovuje a chcete si stránku upravit dle svých potřeb, máte následující možnosti.

Vytvořte novou stránku ve složce /error založenou na šabloně stránky error.html.twig (v rozbalovacím seznamu vyberte Error). Doporučuji zkopírovat přímo výchozí soubor /user/plugins/error/pages/error.md, resp. jeho obsah včetně hlavičky stránky. Není to nutné, ale je to přínosné. V hlavičce stránky jsou totiž potřebná nastavení pro případnou indexaci, zpracování a zobrazení obsahu. Po úpravách a uložení stránky se můžete přesvědčit, že Grav nyní zobrazuje místo výchozí chybové stránky nově vytvořenou uživatelskou chybovou stránku. Doplněk Error zjistí, že existuje vlastní chybová stránka a upřednostní ji před výchozí chybovou stránkou.

Složka /error je výchozí cesta, kde má Grav chybovou stránku hledat. Můžete ji pochopitelně nahradit libovolnou vlastní složkou, např. /404, ale musíte ji pak upravit v nastavení doplňku Error. Praktický důvod k tomu ale žádný není. Možná s následující výjimkou.

Určitým nedostatkem je, že ačkoliv máme vlastní chybovou stránku, tato je stále zpracovávána výchozí šablonou stránky error.html.twig. Pokud chceme, aby se zobrazovala jinak, resp. obsahovala jiné prvky obsahu, musíme ji upravit.

Rozhodně nedoporučuji provádět úpravu výchozí šablony stránky, pokud nepoužíváte vlastní šablonu webu, v níž si můžete manipulovat se soubory dle svého uvážení, popř. dědičnou šablonu webu, v níž přebíjíte kódy v originální šabloně webu. Pokud totiž upravíte přímo soubory v originální šabloně webu, tyto budou při aktualizaci na novější verzi nenávratně přepsány. Více viz článek Vlastní styly v originální šabloně webu.

Pokud přesto potřebujete změnit šablonu stránky v originální šabloně webu, pak si vytvořte kopii souboru error.html.twig, kterou pojmenujte např. 404.html.twig, popř. customerror.html.twig. Jednoduše řečeno nějakým názvem souboru, u něhož nepředpokládáte, že by jej v budoucnu použili autoři šablony webu pro šablonu stránky. U stránky pak nastavte tuto šablonu stránky, aby docházelo k formátování stránky na jejím základě.

Samozřejmě není třeba zůstat pouze u textového výstupu, součástí chybové stránky mohou být pochopitelně i obrázky nebo aktivní prvky, například vyhledávací formulář.

Nalezli jste v článku chybu, ať již gramatickou nebo faktickou? Článek prošel pouze autorskou korekturou a drobné nedostatky, jako překlepy nebo chybný slovosled, se v něm mohou vyskytovat. Pokud je objevíte, pomozte příspěvek upravit oznámením přes kontaktní formulář nebo na e-mail. Budou vám vděčni nejen autoři, ale zejména ostatní čtenáři.

Pomozte Grav.cz prolinkovat. Projekt Grav.cz se za dva roky provozu rozrostl a ve starších příspěvcích na Blogu mohou být uvedeny pasáže, které by stálo za to prolinkovat na konkrétní související řešení, která jsou uvedena v následujících příspěvcích. Pokud takové objevíte, pošlete informaci přes komunikační kanály uvedené v předchozím nebo následujícím odstavci.

Diskuze k článku není k dispozici. Pokud ale máte k tématu článku podněty, připomínky nebo dotazy, je možné je sdělit ve skupině na Facebooku, kde se k nim vyjádří nejen autor, ale případně i další diskutující.

Předchozí příspěvek Následující příspěvek