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

Приступим...
Для начала создаем материал в общей категории, т.е. он должен находиться не в определенной категории сайта, а внутри каталога статей. Называем ее 404-error и пишем любой текст, который вы считаете необходимым, когда пользователь заходит на данную страницу.
К примеру, можно поставить ссылку на главную страницу сайта, чтобы пользователь всегда мог вернуться туда и найти нужный ему материал.
Затем копируем путь, который ведет к нашей статье, выглядеть он должен примерно так:
https://ваш_сайт/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 материала при копировании кода.
Статья была полезна?