
W Joomla obsługa strony błędu 404 jest obsługiwana przy pomocy pliku /templates/nazwa_szablonu/error.php oraz arkusza /templates/nazwa_szablonu/css/error.css
W jaki sposób edytować te pliki aby strona błędu była wczytywana z utworzonego artykułu ?
Systemowy error.php
- Kod: Zaznacz wszystko
- <?php
 /**
 * @package Joomla.Site
 * @subpackage Template.system
 *
 * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
 * @license GNU General Public License version 2 or later; see LICENSE.txt
 */
 defined('_JEXEC') or die;
 if (!isset($this->error))
 {
 $this->error = JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
 $this->debug = false;
 }
 // Get language and direction
 $doc = JFactory::getDocument();
 $app = JFactory::getApplication();
 $this->language = $doc->language;
 $this->direction = $doc->direction;
 ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
 <head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <title><?php echo $this->error->getCode(); ?> - <?php echo htmlspecialchars($this->error->getMessage(), ENT_QUOTES, 'UTF-8'); ?></title>
 <link rel="stylesheet" href="<?php echo $this->baseurl; ?>/templates/system/css/error.css" type="text/css" />
 <?php if ($this->direction == 'rtl') : ?>
 <link rel="stylesheet" href="<?php echo $this->baseurl; ?>/templates/system/css/error_rtl.css" type="text/css" />
 <?php endif; ?>
 <?php if ($app->get('debug_lang', '0') == '1' || $app->get('debug', '0') == '1') : ?>
 <link rel="stylesheet" href="<?php echo $this->baseurl ?>/media/cms/css/debug.css" type="text/css" />
 <?php endif; ?>
 </head>
 <body>
 <div class="error">
 <div id="outline">
 <div id="errorboxoutline">
 <div id="errorboxheader"><?php echo $this->error->getCode(); ?> - <?php echo htmlspecialchars($this->error->getMessage(), ENT_QUOTES, 'UTF-8'); ?></div>
 <div id="errorboxbody">
 <p><strong><?php echo JText::_('JERROR_LAYOUT_NOT_ABLE_TO_VISIT'); ?></strong></p>
 <ol>
 <li><?php echo JText::_('JERROR_LAYOUT_AN_OUT_OF_DATE_BOOKMARK_FAVOURITE'); ?></li>
 <li><?php echo JText::_('JERROR_LAYOUT_SEARCH_ENGINE_OUT_OF_DATE_LISTING'); ?></li>
 <li><?php echo JText::_('JERROR_LAYOUT_MIS_TYPED_ADDRESS'); ?></li>
 <li><?php echo JText::_('JERROR_LAYOUT_YOU_HAVE_NO_ACCESS_TO_THIS_PAGE'); ?></li>
 <li><?php echo JText::_('JERROR_LAYOUT_REQUESTED_RESOURCE_WAS_NOT_FOUND'); ?></li>
 <li><?php echo JText::_('JERROR_LAYOUT_ERROR_HAS_OCCURRED_WHILE_PROCESSING_YOUR_REQUEST'); ?></li>
 </ol>
 <p><strong><?php echo JText::_('JERROR_LAYOUT_PLEASE_TRY_ONE_OF_THE_FOLLOWING_PAGES'); ?></strong></p>
 <ul>
 <li><a href="<?php echo $this->baseurl; ?>/index.php" title="<?php echo JText::_('JERROR_LAYOUT_GO_TO_THE_HOME_PAGE'); ?>"><?php echo JText::_('JERROR_LAYOUT_HOME_PAGE'); ?></a></li>
 </ul>
 <p><?php echo JText::_('JERROR_LAYOUT_PLEASE_CONTACT_THE_SYSTEM_ADMINISTRATOR'); ?></p>
 <div id="techinfo">
 <p><?php echo htmlspecialchars($this->error->getMessage(), ENT_QUOTES, 'UTF-8'); ?></p>
 <p>
 <?php if ($this->debug) : ?>
 <?php echo $this->renderBacktrace(); ?>
 <?php endif; ?>
 </p>
 </div>
 </div>
 </div>
 </div>
 </div>
 </body>
 </html>
systemowy error.css
- Kod: Zaznacz wszystko
- /**
 * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
 * @license GNU General Public License version 2 or later; see LICENSE.txt
 */
 /* Start Common Styles */
 * {
 font-family: helvetica, arial, sans-serif;
 font-size: 11px;
 color: #5F6565;
 }
 html {
 height: 100%;
 margin-bottom: 1px;
 }
 body {
 margin: 0px;
 padding: 0px;
 height: 100%;
 margin-bottom: 1px;
 background: #FFFFFF;
 font-family: helvetica, arial, sans-serif;
 font-weight: normal;
 padding-top: 0px;
 margin-top: 0px;
 }
 .error {
 margin-left: auto;
 margin-right: auto;
 }
 table, td, th, div, pre, blockquote, ul, ol, dl, address,.componentheading,.contentheading,.contentpagetitle,.sectiontableheader,.newsfeedheading {
 font-family: helvetica, arial, sans-serif;
 font-weight: normal;
 }
 #outline {
 width: 900px;
 margin: 0 auto;
 padding: 0px;
 padding-top: 60px;
 padding-bottom: 60px;
 background: #FFFFFF;
 }
 #errorboxoutline {
 width: 900px;
 margin: 0px;
 padding: 0px;
 border: 1px solid #000000;
 }
 #errorboxheader {
 width: 900px;
 margin: 0px;
 padding: 0px;
 background: #E44249;
 color: #FFFFFF;
 font-weight: bold;
 font-size: 12px;
 line-height: 22px;
 text-align: center;
 border-bottom: 1px solid #000000;
 }
 #errorboxbody {
 margin: 0px;
 padding: 10px;
 text-align: left;
 }
 #techinfo {
 margin: 10px;
 padding: 10px;
 text-align: left;
 border: 1px solid #CCCCCC;
 color: #CCCCCC;
 }
 #techinfo p {
 color: #CCCCCC;
 }


 
	

 
	