2014-02-02 2 views
1

Я пытался добавить новую страницу ошибки 404 для моего модуля. У меня есть приложение и мой собственный модуль Admin. Для приложения я использую default 404.phtml, для моего нового модуля я создал admin404.phtml, но я понятия не имею, как его запустить. Есть много вариантов, как изменить макет для модулей, но я не мог найти ответ на мой вопрос. Может ли кто-нибудь мне помочь?php Zend framework 2 error 404 страница

ответ

2

Если страница не найдена или какая-либо другая ошибка происходит внутри вашего веб-приложения, отображается стандартная страница ошибки. Внешний вид страницы ошибки контролируется шаблонами ошибок . Существует два шаблона ошибок: error/404, который используется для ошибки «404 страницы не найден» и error/index, которая отображается, когда необработанное исключение выбрасывается где-то внутри приложения.

module.config.php файл содержит несколько параметров под view_manager ключ, который вы можете использовать для настройки внешнего вида шаблонов ошибок:

<?php 
return array(
    //... 

    'view_manager' => array( 
    'display_not_found_reason' => true, 
    'display_exceptions'  => true, 
    //... 
    'not_found_template'  => 'error/404', 
    'exception_template'  => 'error/index',  
    'template_map' => array(
     //... 
     'error/404' => __DIR__ . '/../view/error/404.phtml', 
     'error/index'=> __DIR__ . '/../view/error/index.phtml', 
    ), 
    'template_path_stack' => array(
     __DIR__ . '/../view', 
    ), 
), 
); 
  • В display_not_found_reason параметр управляет ли отображать подробная информация, найденная пользователем информация об ошибке "Страница не найдена".
  • Параметр display_exceptions определяет, следует ли выводить информацию о необработанном исключении и его трассировке стека.
  • not_found_template определяет имя шаблона для ошибки 404.
  • exception_template указывает имя шаблона ошибки необработанного исключения.

Вы обычно Установите display_not_found_reason и display_exceptions Parameters для false в производственных системах, потому что вы не хотите, чтобы посетители сайта увидеть детали об ошибках в вашем сайте. Тем не менее, вы все равно сможете получить подробную информацию из файла Apache error.log.

+0

На самом деле это не решает вопрос OP о различных шаблонах ошибок в разных модулях (поскольку массив конфигурации 'view_manager', который вы правильно упомянул, объединяется при загрузке). Это означает, что когда-либо загруженный модуль последний определяет шаблон ошибки. – AlexP

Смежные вопросы