I have stopped developing joomla extensions because of my other works, but I won't turn off the site as long as possible so feel free download my Joomla 1.5 extensions. :)

I am on a freedom
Home Joomla tippek | My Joomla tips Egyedi 404-es hibaoldal készítése

Egyedi 404-es hibaoldal készítése

Nyomtatás E-mail
(8 szavazat)
Joomla - Tutorial
Írta: Manó - 2010. március 21. vasárnap, 20:26

Joomla a templates/system/error.php állományt használja a HTTP státusz hibaüzenet megjelenítésére. Kinézete kicsit puritán, és felhasználóbarátnak sem mondható. Ha nem szeretnénk, hogy egy elgépelt url, vagy egy hibás link miatt elmenjen a látogató az oldalunkról, érdemes egy barátságosabb hibaoldalt készíteni.

Létezik néhány leírás egyedei 404-es oldal készítésére, nekem a kedvencem amikor megírjuk a hibaüzenet egy cikkben, és erre irányítjuk át a felhasználót. Az oldalad/sablonod tejes mértékben látszik, a hibaüzenet úgy jelenik meg mint bármely más cikk.

1., Készíts egy cikket (besorolatlan)

Ez fog megjelenni 404-es hiba esetén.

2., Készíts egy menüpontot az újonnan létrehozott cikknek

Én létre szoktam hozni egy "nemhasznált" menüt a menükezelőben amibe berakom az olyan menüpontokat amiket nem jelenítek meg az oldalon, de szükségem van a menüpontra. (ilyen pl ez a 404-es menüpont).

3., error.php létrehozása

templates\TE_SABLONOD\error.php aminek a tartalma az alábbi legyen:

<?php
/**
 * @copyright    Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
 * @license        GNU/GPL, see LICENSE.php
 * Joomla! is free software. This version may have been modified pursuant
 * to the GNU General Public License, and as distributed it includes or
 * is derivative of works licensed under the GNU General Public License or
 * other free or open source software licenses.
 * See COPYRIGHT.php for copyright notices and details.
 */

// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
if (($this->error->code) == '404') {
header('Location: index.php?option=com_content&view=article&id=XY');
exit;
}

id=XY helyére az cikk azonosítóját kell beírni (pl.: id=78)

Ha a keresőbarát beállítások be vannak kapcsolva, akkor a fenti kód helyett érdemes ezt használni:

<?php
/**
 * @copyright    Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
 * @license        GNU/GPL, see LICENSE.php
 * Joomla! is free software. This version may have been modified pursuant
 * to the GNU General Public License, and as distributed it includes or
 * is derivative of works licensed under the GNU General Public License or
 * other free or open source software licenses.
 * See COPYRIGHT.php for copyright notices and details.
 */

// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
if (($this->error->code) == '404') {
$url = $this->baseurl . 'index.php?option=com_content&view=article&id=XY&Itemid=YX';
$url = JRoute::_($url);
header('Location: ' . $url);
exit;
}

id=XY helyére az cikk azonosítóját kell beírni (pl.: id=78)

Itemid=YX helyére a menüpont azonosítóját kell beírni (pl.: Itemid=15)

Ilyenkor a menüpontnál beállított paraméterek is életbe lépnek. Modulok megjelenését is be lehet állítani.

Forrás: Custom_error_pages , Tutorial:Create_a_Custom_404_Error_Page

Hasznos: Online Marketing - 404 hibaoldal

 

UPDATE:

404 -es hibaoldal Joomla 1.7 sablonhoz:

A fenti kódot az alábbi módon kell módosítani, ha Joomla 1.7-et használunk.

Sef nélkül:

defined( '_JEXEC' ) or die( 'Restricted access' );
if (($this->error->getCode()) == '404') {
header('Location: index.php?option=com_content&view=article&id=XY&Itemid=YX');
exit;
}

Bekapcsolt Sef beállításokkal:

defined( '_JEXEC' ) or die( 'Restricted access' );
if (($this->error->getCode()) == '404') {
$url = $this->baseurl . '/index.php?option=com_content&view=article&id=XY&Itemid=YX';
$url = JRoute::_($url);
header('Location: ' . $url);
exit;
}

Hozzá kell tennem, hogy ez csak a 404-es oldalakat kezeli le, a többi hibát "lenyeli", úgyhogy ezt csak kiindulási alapnak szabad venni.

Ennek a kódrészletnek, és a gyári sablonok error.php-jában található kódnak a felhasználásával, könnyedén elkészíthető egyedi hibaoldalakat hozhatunk létre.

 

Hozzászólások  

 
0 #23 2014-04-17 19:57
What's Taking place i am new to this, I stumbled upon this I have found It positively helpful and it has
helped me out loads. I'm hoping to contribute & aid different
customers like its helped me. Good job.

Have a look at my web page ... nike ราคา: https://www.facebook.com/salenikeshopthailand
Idézet
 
 
0 #22 2014-04-04 18:04
Woah! I'm really enjoying the template/theme of this site.
It's simple, yet effective. A lot of times it's hard to get that "perfect balance"
between superb usability and visual appeal.
I must say that you've done a superb job with this.

Also, the blog loads very quick foor me on Safari.
Excellent Blog!

Feel free to surf to my web-site ... Nike
Air Presto Herren: http://www.schuhenikeonlinewelt.de/nike-free/nike-air-presto-iv/nike-air-presto-herren/
Idézet
 
 
0 #21 Manó 2013-09-18 18:41
Nincs mit :)
Idézet
 
 
0 #20 2013-09-18 11:36
Ez Joomla 2.5-höz is tök jó! Köszi!
Idézet
 
 
0 #19 2011-12-27 14:08
Sziasztok! Nekem az lenne a problámám, hogy a joomla 1.5-ös oldalam sef404-es url-it átszeretném irányítani az új 1.7-es oldalam keresőbarát urljeire. A domain és tárhelyszolgáltató nem változott. Azonban csak annyi történik, hogy mikor beírom a régi url-met kidob a főoldalra, az url cím pedig változatlan marad. Probáltam már a .htaccess-be is redirect 301 /index.php?/regioldal.html http//www.domain.hu/ujoldal de semmi sem történik, az 1.7-es átirányítási komponens sem csinál semmit ezekkel a régi oldalakkal. Hogy tudnám rávenni a joomlámat, hogy ezeket az url-ket 404-es hibaoldalnak kezelje, és ne küldjön ilyen esetben a főoldalra? Köszi a segítséget.
Idézet
 
 
0 #18 2011-09-29 19:57
Hello! Köszönöm szépen a segítséget, így már tökéletesen működik 1.7-el is!
Üdv.:KZs
Idézet
 
 
+1 #17 Manó 2011-09-29 19:02
Kiegészítettem a cikket joomla 1.7-re.
Idézet
 
 
0 #16 2011-09-29 12:06
Hello Manó! Kipróbáltam és tökéletesen működik is, de csak a Joomla 1.5 oldalamon. 1.7-nél már mindent elkövettem ami eszembe jutott, de az eredmény minden esetben az, hogy egy teljesen üres (sima fehér az egész böngésző ablak) oldalt hoz be, a linksorban az a link marad, ami az "elgépelt" cím volt. Ha kitörlöm (vagy átnevezem) a sablon könyvtárában levő error.php-t, akkor az eredeti hibaoldal bejön. A keresőbarát URL-ek be vannak kapcsolva. Nem próbáltam kikapcsolni, mert így lenne jó ha működne. A létrehozott 404-es cikk megfelelően megjelenik, ha a linkjét külön beírom a címsorba. Mi lehet a gond? Ennyivel másabb az 1.7?
Köszi!
Üdv.:KZs
Idézet
 
 
0 #15 2011-08-09 18:20
Köszönöm!
Idézet
 
 
0 #14 2011-06-09 20:53
Nagyon köszönöm!
Idézet
 
 
0 #13 2011-03-02 10:54
Köszönöm! Apró, de nagyon hasznos dolog.
Idézet
 
 
0 #12 2010-11-26 15:04
Kedves Manó!

Az itt bemutatott megoldás sokkal egyszerűbb és jobb is, mint amit csináltam. A megoldásodat NAGYON köszönöm és tetszik!
Idézet
 
 
0 #11 2010-09-24 07:20
Lenyelte a linket. Szóval ezt:
http://docs.joomla.org/Custom_error_pages
Idézet
 
 
0 #10 2010-09-24 06:58
Nálam be volt kapcsolva a SEF és az eredményt már leírtam. Valószínű, megpróbálom ezt
Idézet
 
 
0 #9 Manó 2010-09-23 18:56
A hibaoldal ez: /index.php?option=com_content&view=article&id=9, ha törlöm a 9-est akkor visszadob a hibaoldalra (9-et visszaírja).
Ha sef be van kapcsolva, akkor /404-not-found.html az url (helyes itemid, és beállított menüpont esetén).
Egyébként érdekes eredményeket nekem is sikerült előidézni, de az eredeti error.php-val is.
Idézet
 
 
0 #8 2010-09-23 18:06
Tegyük fel hibaoldal a menüpontod neve és 12 a cikk id-je. Akkor a címsorban ilyesmit látsz:http://oldaladneve/hibaoldal/12. Tegyük fel kitörlöd hogy "/12" és nyomsz egy entert a hibaoldalon találod magad, de a hibaüzenet nem lesz ott. Jobb lenne berakni egy html modulba.
Idézet
 
 
0 #7 Manó 2010-09-23 17:21
Szia,

Ezt nem pontosan értem. Honnan kellene kitörölni? Mi lenne az url? Vagy a példakódban mondod?
Idézet
 
 
0 #6 2010-09-23 07:56
Ha kitörlöd a cikk id-jét a címsorból, bejön a főoldalad a hibaoldal címével. Szerintem ez így nem jó.
Idézet
 
 
0 #5 Manó 2010-09-06 08:58
Szia,

Igen. Tudtommal a helyes beállítás Noindex,Follow.
Idézet
 
 
0 #4 2010-09-04 09:32
Ha azt akarom, hogy a keresők ne indexlejék a 404-es oldalamat, akkor elég beírni a cikk szerkesztésnél a robots mezőbe, hogy noindex?
Idézet
 
 
0 #3 2010-05-27 20:36
Nagyszerűen működik, köszönöm, Manó!!
Bem
Idézet
 
 
+1 #2 Manó 2010-04-17 20:46
Nincs mit
Idézet
 
 
0 #1 2010-04-15 18:01
Pont erre voltam kíváncsi, ezt kerestem, köszönöm Manó!
Idézet
 

Szóljon hozzá!


Biztonsági kód
Frissítés

Mi is ez az oldal?

mano

Molnár László vagyok és ezen az oldalon főként a Joomla tartalomkezelő rendszerrel kapcsolatos dolgaimat találhatod.

Jegyzeteim igyekszem mások által is emészthető formában hozni, és időről-időre publikálni az oldalon.

Készülőben néhány bővítményem, amiket remélem hasznosnak fogsz találni.

Hasznos böngészést!
Manó