Всё о странице фатальной ошибки

Last modified by niro on Wed, September 16, 2009 14:48
Source|Old Revisions  |  Back To Group

Всё о странице фатальной ошибки

Информация актуальна для версии 1.3.2.3.

Общая информация

Время от времени пользователь сайта на Magento попадает на страницу фатальной ошибки, которая располагается по адресу ВашДомен/report/?id=.... Это значит, что что-то на сайте сработало не так, как задумывалось и стоит обратить на это внимание. Хотя такое бывает не часто, но со временем вы задумаетесь о том что вам может предложить эта функциональность.

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

Структура

Все файлы, относящиеся к этой функциональности находятся в папке

  • КорневаяПапкаМагенто/report/
    • .htaccess
    • config.xml - файл конфигурации
    • index.php - логика вызова нужного дизайна и отсылка письма с ошибкой
    • skin - папка с дизайнами страницы

Варианты вывода информации

Все настройки осуществляются в фале конфигурации. Вариант вывода определяется в секции <action>.

На экран

Для вывода информации об ошибке на экран, установите значении секции <action> в print.

На электронную почту

Для вывода информации об ошибке на экран, установите значении секции <action> в email. А в секции <email_address> укажите адрес электронной почты, на который хотите получить письма с ошибками (можно указать несколько адресов через запятую).

В этом случае информация об ошибке будет отсылаться на указанный адрес, а пользователь, вызвавший ошибку увидит форму обратной связи.

Режим "Для разработчиков"

Есть возможность выводить ошибку средствами PHP, без дизайна. Для этого надо в файле КорневаяПапкаМагенто/index.php изменить строку 60 с

  1. #Mage::setIsDeveloperMode(false);

на

  1. Mage::setIsDeveloperMode(true);

Примечание: после окончания разработки не забудьте вернуть эту строку в исходное состояние.

Возможности локализации и смены дизайна

Судя по логике в файле index.php есть два типа смены дизайна страницы ошибки.

Для представления магазина

По умолчанию дизайн страницы ошибки определяется файлом index.phtml, который находится в папке КорневаяПапкаМагенто/report/skin/default/.

При возникновении ошибки вызывается страница фатальной ошибки с параметрами. Один из параметров представляет собой код представления магазина, из под которого была вызвана. Пример: report/?id=-1069754244&s=rus, где rus - код представления магазина. В этом случае дизайн ищется в папке КорневаяПапкаМагенто/report/skin/rus/.

Примечание: Непонятно, почему Magento вызывает дизайн страницы ошибки по коду представления магазина, а не по названию используемого дизайна.

Дополнительный дизайн для каждого из представлений магазина

Есть также возможность указать другой файл, который будет вызываться вместо index. phtml. Для этого в папке /report/ необходимо создать файл макета (layout) с названием design.xml, со следующим кодом

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <design>
  3.     <template>ВашФайл.phtml</template>
  4. </design>

После этого, создать файл ВашФайл.phtml. Можете скопировать туда для начала данные из /report/skin/default/index.phtml и уже после изменять так, как вам это необходимо.

Перевод текстов

Пока мне не удалось перевести тексты стандартной функцией получения текстов __().

Ошибки в коде

По крайней мере мне кажется, что это ошибки, хотя...

Определение $baseUrl

В файле КорневаяПапкаМагенто/report/index.php есть строка номер 29, в которой определяется базовый путь

  1. $baseUrl    = dirname(dirname($_SERVER['SCRIPT_NAME'])) . '/';

её стоит заменить на строку

  1. $baseUrl    = dirname(dirname($_SERVER['SCRIPT_NAME']));

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

Источники




 

Magento 2 GitHub Repository

Magento Job Board - Some sort of tag line goes here

Latest Posts| View all Jobs