Jak upravit chybovou stránku 404 u Joomla 2.5, 3.x
Vysvětlení fungování a popis, jak provést úpravy a změny u chybové stránky 404, tedy stránky informující, že stránka nebyla nalezena. Platí od Joomla 2.5, 3.x.
Co to je chybová stránka 404
Pokud někdo zadá URL adresu, která neexistuje, tak dostane chybovou hlášku 404. Není to nic neobvyklého. Stačí smazat nebo přesunout článek a všichni, kdo si uložili URL adresu, obdrží po jejím zadání chybovou stránku 404. Správě byste všechny zrušené a přemístěné stránky měli přesměrovávat na ekvivalentní stránku, ale ne vždy to tak bude.
Pokud server (Apache webhostingu) nedostane od Joomly žádnou zprávu tak pošle nevzhlednou hlášku tohoto typu:
To nepůsobí zrovna profesionálně, dvojnásob na návštěvníka webu popuzeného nefunkčním odkazem. Z toho důvodu bude lepší, když mu Joomla nabídne hezky vypadající stránku, která mu nejen vysvětlí co je špatně, ale také ho více nenaštve.
Jak Joomla 2.5 a 3.x řeší chybové stránky 404
U Joomla od verze 2.5.x a výše řeší chybové stránky 404 šablona. Nejprve je třeba vědět, jakou šablonu máte nastavenu jako výchozí. To zjistíte po přihlášení do administrace na
[Rozšíření] » [Správce šablon], jedna šablona bude mít hvězdičku a v části "umístění" bude text "veřejná část".
Pro úpravu je nelepší stáhnout si Joomlu do svého počítače (návod zde) a úpravy provádět na lokálním umístění. Další popis tedy bude vycházet z toho, že máte přístup ke všem souborům Joomly.
Všechny šabolony naleznete v kořenovém adresáři [templates].
Jeden adresář v [templates] bude názvem odpovídat názvu šablony, kterou používáte jako základní. Otevřete si vámi používanou šablonu a najdete v ní mj. soubor [error.php].
V tomto souboru se nachází právě to, co bude návštěvníkovi odesláno v případě neexistující stránky. Většina šablon se v tomto souboru drží obdobných pravidel jako u souboru [index.php], což je soubor pro normální existující stránky. Pokud tedy chcete provést úpravu, tak postupujete tak, jako byste upravovali [index.php].
Já osobně při tvorbě šablony na zakázku postupuji jinak. Do tohoto souboru vkládám pouze přesměrování na účelový článek, který si předtím vyrobím v obsahu webu. Popíšu postup:
- Založím si nový článek, který nazvu třeba "404"
- Vytvořím si položku v menu, která bude odkazovat na jediný článek, a to na ten výše zmíněný. Položku v menu vytvářím za účelem vygenerování URL adresy a také za účelem nastavení chování (např. zobrazování modulů). Rozhodně není žádoucí, aby tento odkaz byl vidět na stránkách určených pro návštěvníky. Z toho důvodu položku menu vytvořím do účelového menu, které se nikde nezobrazuje. Pokud takové ještě nemáte, tak jej vytvoříte [Nabídky] » [Správce nabídek] » [Přidat novou nabídku]. Pokud nové nabídce nepřidělíte modul, tak se zobrazit nemůže. Přesto položky menu v této nabídce umístěné bude Joomla chápat, jako by vidět byly.
- Otevřete si [error.php] a vložet tam následující kód
Celé kouzlo spočívá v červeně orámovaném řádku. Díky refresh bude návštěvník ihned přesměrován na předem vytvořený článek.
Soubor si můžete stáhnout zde. Je zabalen do ZIP souboru. Pochopitelně musíte napsat vlastní a správnou URL adresu.