Июн 15

Одной из самых популярных проблем у новичков в Magento является проблема входа в админ панель Magento. Форумы насыщены постами типа “Не могу войти в админку Magento“, “Вход в админку Magento“. Я удивляюсь, но многие при установке Magento на локальный компьютер, не используют VirtualHosts, а устанавливают на localhost.
Связано это с вопросом безопасности и невозможностью установить cookie.

Есть два популярных способа решения данной проблемы:

  1. Использовать VirtualHosts, название хоста должно содержать точку
  2. Более корявый способ - внести изменения в коде

Изменения в коде лучше делать перекрытием кода в локальном codePool.
Данный пример приводится для версии Magento 1.4.
Для этого копируем файл /app/code/core/Mage/Core/Model/Session/Abstract/Varien.php в /app/code/local/Mage/Core/Model/Session/Abstract/Varien.php.
И комментруем 3 строчки в методе Mage_Core_Model_Session_Abstract_Varien::start

<?php
// session cookie params
$cookieParams = array(
    ‘lifetime’ => $cookie->getLifetime(),
    ‘path’     => $cookie->getPath(),
    /*
    ’domain’   => $cookie->getConfigDomain(),
    ’secure’   => $cookie->isSecure(),
    ’httponly’ => $cookie->getHttponly()
    */
);
?>

Как видно из примера, первый способ гораздо проще :)

Июн 9

В Magento 1.4 по умолчанию отключено отображение ошибок и exception’ов. Поэтому, часто приходится видеть вот такую надпись:

There has been an error processing your request
Exception printing is disabled by default for security reasons
Error log record number: 385579037

Отчеты об ошибках можно посмотреть в директории /var/report.

Чтобы включить отображение ошибок в Magento, нужно создать файл errors/local.xml и прописать в нем вывод ошибок на экран. Простейший пример:

<?xml version=”1.0″?>
<config>
    <skin>default</skin>
    <report>
        <action>print</action>
        <trash>delete</trash>
    </report>
</config>

Возможные опции

  • action - может иметь 2 значения: print (вывод ошибок на экран) и email - отправление ошибки на email
  • subject - тема письма отчета об ошибке
  • trash - возможны 2 значения: leave - сохраняет трейс ошибки в файл, delete - не сохраняет

Описание доступных опций для настройки отчетов об ошибках можно найти в файле errors/local.xml.sample