Ошибка Magento system.xml и 404 при попытке доступа к панели конфигурации
Я пытаюсь реализовать некоторые параметры конфигурации для своего настраиваемого модуля. Мне удалось добавить вкладку и раздел в левой панели навигации. Но когда я хочу открыть раздел, я получаю страницу с ошибкой 404 без дополнительной информации.
До сих пор я пробовал все, чтобы заставить его работать. Чтение блогов, примеров и т.д., но я не могу найти ошибку. Может быть, кто-то из вас может объяснить мне, что я делаю неправильно.
Мой adminhtml.xml
:
<?xml version="1.0" ?>
<config>
<resources>
<admin>
<children>
<system>
<children>
<config>
<children>
<tempest_section translate="title" module="Tempest">
<title>Tempest</title>
</tempest_section>
</children>
</config>
</children>
</system>
</children>
</admin>
</resources>
</config>
Мой config.xml
:
<?xml version="1.0"?>
<config>
<modules>
<Polyvision_Tempest>
<version>0.1.0</version>
</Polyvision_Tempest>
</modules>
<global>
<helpers>
<Tempest>
<class>Polyvision_Tempest_Helper</class>
</Tempest>
</helpers>
</global>
<admin>
<routers>
<adminhtml>
<args>
<modules>
<tempest before="Mage_Adminhtml">Polyvision_Tempest_Adminhtml</tempest>
</modules>
</args>
</adminhtml>
</routers>
</admin>
<adminhtml>
<menu>
<menu1 translate="title" module="Tempest">
<title>polyvision</title>
<sort_order>60</sort_order>
<children>
<menuitem1 module="Tempest">
<title>Tempest - Export</title>
<action>adminhtml/tempest_main</action>
</menuitem1>
</children>
</menu1>
</menu>
</adminhtml>
<default>
<tempest>
<settings>
<export_directory>/tmp/</export_directory>
</settings>
</tempest>
</default>
</config>
Мой system.xml
:
<?xml version="1.0" ?>
<config>
<tabs>
<polyvision module="Tempest" translate="label">
<label>polyvision</label>
<sort_order>100</sort_order>
</polyvision>
</tabs>
<sections>
<tempest_section module="Tempest" translate="label">
<label>Tempest-Einstellungen</label>
<sort_order>200</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<tab>polyvision</tab>
<groups>
<settings translate="label">
<label>Settings</label>
<comment></comment>
<sort_order>10</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<fields>
<export_directory translate="label tooltip comment">
<label>My Custom Field</label>
<comment>Some comment about my field</comment>
<tooltip>Field ToolTip</tooltip>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<frontend_input>text</frontend_input>
<source_model>adminhtml/system_config_text</source_model>
</export_directory>
</fields>
</settings>
</groups>
</tempest_section>
</sections>
Ну, мой модуль сам работает без проблем. Только настройки администратора не работают:/
Ответы
Ответ 1
Если это 404 в Chrome консоли администратора, тогда ваша проблема - отсутствующая роль ACL. Прочитайте эту статью о том, как установить один из них. (собственная ссылка)
Кроме того, после настройки роли ACL вам необходимо очистить сеансы Magento. Magento кэширует определенные роли в сеансе, а новые сессии не будут автоматически добавляться в кэш пользователей с ролью суперпользователя.
Ответ 2
Привет, я думаю, что что-то не так с тегом action в файле config.xml.
<action>adminhtml/tempest_main</action>
Если я не ошибаюсь, это будет ссылаться на модуль adminhtml, найденный в app/code/core/Mage/Adminhtml.
Каково имя вашего модуля и что у вас есть в папке вашего контроллера.
Я считаю, что первым битом действия должно быть имя вашего контроллера, а затем путь к вашему контроллеру администратора и действию
Тег действия создается следующим образом.
<action>matrixrate/adminhtml_index/index</action>
|--module--|--controller---|-action-|
НТН
Ответ 3
Дайте разрешение acl в вашем config.xml.
<adminhtml>
<acl>
<resources>
<all>
<title>Allow Everything</title>
</all>
<admin>
<children>
<system>
<children>
<config>
<children>
<tab_name>
<title>Module - All</title>
</tab_name>
</children>
</config>
</children>
</system>
</children>
</admin>
</resources>
</acl>
</adminhtml>
Очистите кеш, выйдите из системы и снова войдите.