Joomla! использует шаблоны / система / error.php файл для обработки нескольких статуса HTTP ошибки, в том числе "403 Forbidden", "404 Not Found", и "500 Internal Server" ошибки. Вы можете стиле ошибка возникает, если это необходимо.
Важно понимать, что error.php является независимый файл из Joomla!. Плагины не работают на файл. Вы не можете включать модули или использовать заявления.
Переопределение Результаты Системная ошибка
Чтобы отменить результаты системной ошибки, копировать templates/system/error.php файлов в шаблоны templates/ каталога.
Если он находит его, Joomla! будет использовать error.php файл из текущего шаблона, вместо файловой системы.
Вы можете форматировать страницы, что и требовалось, чтобы они соответствовали вашим шаблоном.
Переопределение системы Styling
Если вы хотите изменить стиль, копировать templates/system/css/error.css файлов в шаблоны templates//css каталога.
Далее, обновление шаблонов templates//error.php файла для ссылки на новом месте таблицы стилей, изменяя эту строку, соответственно:
<link rel="stylesheet" href="<?php echo $this->baseurl; ?>/templates/system/css/error.css" type="text/css" />
Затем, просто измените error.css, по желанию, для ваших требований стиля.
Настройка сообщений об ошибках
Вы можете добавить условную логику варьировать сообщение выдается, в зависимости от конкретного кода ошибки.
Вот пример того, как в ловушке ошибки 404 и предоставлять персонализированное сообщение.
<?php if ($this->error->code == '404') { ?> <div id="errorboxheader">Page not found</div> <div id="errorboxbody"><p>Sorry! That page cannot be found.</p> </div> </div> <?php } ?>
Кодекс HTTP Status
При запросе на страницу вашего сайта, сервер возвращает код статуса HTTP в ответ на запрос. Joomla! возвращает '200 - сервер успешно открыл страницу для страницы ошибок. Это проблематично для тех, кто работает с Google Webmaster Услуги и пытаются получить карту сайта решены.
Если вы хотите Joomla! вернуть код состояния для ошибки, вы можете сделать это путем добавления логики до DOCTYPE линии, а именно:
<?php if ($this->error->code == '404') { header("HTTP/1.0 404 Not Found"); } ?>
Использование заголовков тем и Footer на стандартной страницы ошибки
Если вы хотите увидеть страницу с ошибкой в тему дизайна и не люблю перенаправление на ошибки URL страницы или дублирования HTML в шаблоне страницы с ошибкой, вот способ, чтобы применить тему шаблон на страницу ошибки.
Во-первых, положить следующий код в templates//error.php:
<?php // no direct access defined( '_JEXEC' ) or die( 'Restricted access' ); include dirname(__FILE__) . "/index.php"; ?>
Затем сделайте следующие изменения в templates//index.php::
1. Найти следующий код в index.php
<jdoc:include type="head" />
и заменить его следующим
<?php if (!$this->error->code) : ?> <jdoc:include type="head" /> <?php else : ?> <title><?php echo $this->error->code ?> - <?php echo $this->title; ?></title> <?php endif; ?>
2.Найти следующий код в index.php
<jdoc:include type="component" />
и заменить его следующим
<?php if ($this->error->code) : /* check if we are on error page, if yes - display error message */ ?> <p><strong><?php echo $this->error->code ?> - <?php echo $this->error->message ?></strong></p> <p><strong><?php echo JText::_('You may not be able to visit this page because of:'); ?></strong></p> <ol> <li><?php echo JText::_('An out-of-date bookmark/favourite'); ?></li> <li><?php echo JText::_('A search engine that has an out-of-date listing for this site'); ?></li> <li><?php echo JText::_('A mis-typed address'); ?></li> <li><?php echo JText::_('You have no access to this page'); ?></li> <li><?php echo JText::_('The requested resource was not found'); ?></li> <li><?php echo JText::_('An error has occurred while processing your request.'); ?></li> </ol> <p><strong><?php echo JText::_('Please try one of the following pages:'); ?></strong></p> <p> <ul> <li><a href="<?php echo $this->baseurl; ?>/index.php" title="<?php echo JText::_('Go to the home page'); ?>"><?php echo JText::_('Home Page'); ?></a></li> </ul> </p> <p><?php echo JText::_('If difficulties persist, please contact the system administrator of this site.'); ?></p> <?php else : ?> <jdoc:include type="component" /> <?php endif; ?>
Теперь Ваша тема шаблон применяется для страницы ошибок тоже.
Примечание: Модуль включает в шаблон не будет работать на страницу с ошибкой, созданный этим методом (но будет работать и на других страницах).
