Создание собственной 404 ошибки в Joomla

35

Сегодня мы будем с вами создавать собственную ошибку 404 в Joomla. Она предназначена для того, чтобы пользователь, при введении неправильного пути в адресной строке браузера попадал на подготовленную нами страницу. 

404-error

Приступим…

Для начала создаем материал в общей категории, т.е. он должен находиться не в определенной категории сайта, а внутри каталога статей. Называем ее 404-error и пишем любой текст, который вы считаете необходимым, когда пользователь заходит на данную страницу.

К примеру, можно поставить ссылку на главную страницу сайта, чтобы пользователь всегда мог вернуться туда и найти нужный ему материал.

Затем копируем путь, который ведет к нашей статье, выглядеть он должен примерно так:

 http://ваш_сайт/index.php?option=com_content&view=category&layout=blog&id=104&Itemid=75

Можно занести его в блокнот, чтобы потом быстро скопировать при необходимости. Ставим состояние отображения на “published”.

Берем файл error.php, который лежит в папке system (templates/system) и копируем его в папку с вашим шаблоном, например, в папку templates/ваш_шаблон/

Заменяем в файле error.php строки, добавив нижеприведенный код сразу после линии “restricted access” :

  if (($this->error->code) == '404') { header('Location: /index.php?option=com_content&view=article&id=75'); exit; ] 

Если вы используете Joomla версии 1.6, 1.7, 2.5, то пользуйтесь следующим кодом: 

  if (($this->error->getCode()) == '404') {

Используйте ранее скопированный путь с материалом для указания адреса в коде (Location). ID материала можно узнать при создании статьи… У меня весь код выглядит следующим образом: 

 error->getCode()) == '404') { header('Location: /index.php?option=com_content&view=article&id=211'); exit; ] //get language and direction $doc = JFactory::getDocument(); $this->language = $doc->language; $this->direction = $doc->direction; ?> 

Последний штрих – добавляем в файл robots.txt строку для того, чтобы поисковые системы не нашли нашу 404 ошибку:

 Disallow: /index.php?option=com_content&view=article&id=75

Не забудьте заменить ID материала при копировании кода.