Нужно было создать страницу для 404 ошибки с оформление отличающимся от дизайна сайта.
Хотел сделать отдельный header для такой страницы.
Сделал:
1. В /catalog/view/theme/default/template/error/not_found.tpl вместо
<?php echo $header; ?>
вставил
<?php echo $header404; ?>
2. Создал /catalog/view/theme/default/template/common/header404.tpl
3. В /catalog/controller/error/not_found.php заменил
$this->children = array(
'common/column_left',
'common/column_right',
'common/content_top',
'common/content_bottom',
'common/footer',
'common/header'
);
на
$this->children = array(
'common/column_left',
'common/column_right',
'common/content_top',
'common/content_bottom',
'common/footer',
'common/header404'
);
4. В catalog/controller/common/ создал копию header404.php из header.php. Изменил в новом файле
ControllerCommonHeader
на
ControllerCommonHeader404
Также прописал в этом файле
$this->template = 'default/template/common/header404.tpl';
вместо
$this->template = 'default/template/common/header.tpl';
В итоге, если набрать site.ru/urla-netu, то отдается 404 страница (всё как задумано) с кодом ответа севера 404. ОК
Но, на сайте есть категория с алиасом, например, cat1, и в настройках она отключена, и вот в таком случае если открыть site.ru/cat1, то содержимое /catalog/view/theme/default/template/error/not_found.tpl отображается, но не подключается header404 и ответ сервера 200, а не 404. Печаль
В логах
2015-07-31 15:35:19 - PHP Notice: Undefined variable: header404 in /home/site/public_html/catalog/view/theme/default/template/error/not_found.tpl on line 1
Подскажите, что я упустил. (( Возможно с seo_pro как-то связано.