Одной из самых популярных проблем у новичков в Magento является проблема входа в админ панель Magento. Форумы насыщены постами типа “Не могу войти в админку Magento“, “Вход в админку Magento“. Я удивляюсь, но многие при установке Magento на локальный компьютер, не используют VirtualHosts, а устанавливают на localhost.
Связано это с вопросом безопасности и невозможностью установить cookie.
Есть два популярных способа решения данной проблемы:
- Использовать VirtualHosts, название хоста должно содержать точку
- Более корявый способ - внести изменения в коде
Изменения в коде лучше делать перекрытием кода в локальном 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() */ ); ?>
Как видно из примера, первый способ гораздо проще :)