Это очень распространенная ошибка, которая появляется в Magento при установке нового расширения с конфигурацией system.xml :
При переходе на System->Configuration->Extension
вкладку отображается ошибка 404. Вы должны выйти из системы и войти снова, и тогда все в порядке. Но есть ли способ избежать этого?
admin
extensions
system.xml
404-page
acl
JohnyFree
источник
источник
Ответы:
Как сказал @Cags, это (легко) невозможно, поскольку дерево ACL загружается при инициализации сеанса (AKA, когда администратор входит в систему).
Возможный обходной путь - переопределить
_isSectionAllowed
метод в контроллере конфигурации системы: (Mage_Adminhtml_System_ConfigController::_isSectionAllowed
) и перезагрузить дерево ACL.Что-то типа:
Но это означает, что дерево ACL будет перезагружаться при каждом доступе к разделу конфигурации. Я не вижу смысла в этом.
Также вы не можете сделать это для одного конкретного расширения. Вам придется переписать основной класс.
источник
Я нашел способ обойти это с очень маленькой настройкой. Что нам нужно это:
Новое действие контроллера, которое перезагружает ACL (без выхода из системы и входа), а затем перенаправляет обратно на предыдущую страницу:
Обновление макета для
admin_noroute
ручки. Мы добавим ссылку на это новое действие контроллера прямо на странице администратора 404:И шаблон с ссылкой:
Я добавил это в небольшое расширение на Github: SSE_AclReload (добавляет ссылку также в меню Система> Права доступа )
Вы также можете попытаться перезагрузить ACL автоматически, как только будет отправлено действие admin / noroute, но я предпочитаю 1) знать, что происходит, и 2) иметь выбор.
источник
Если у вас возникли проблемы при установке нового расширения и появлении страницы с ошибкой 404 , вам нужно всего лишь войти в нее
System > Permissions > Roles
. Просто сохрани роль и не забудь очиститьvar/cache
иvar/seesion
твоя проблема была решена.источник
Попробуй это:
источник