我正在尝试为自定义模块实现一些配置设置。我设法在左侧导航栏中添加了一个标签和一个部分。但是当我想打开一个部分时,我会得到一个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>
好吧,我的模块本身没有麻烦。只有管理员设置不起作用:/
答案 0 :(得分:74)
如果它是管理控制台chrome中的404,那么您的问题是缺少ACL角色。阅读this article on how to set one up。 (自我链接)
此外,在设置ACL角色后,您需要清除Magento会话。 Magento在会话中缓存特定角色,新会话不会自动添加到具有超级用户角色的用户缓存中。
答案 1 :(得分:2)
您好我认为config.xml中的action标签有问题。
<action>adminhtml/tempest_main</action>
如果我没有记错,这将引用app / code / core / Mage / Adminhtml中的adminhtml模块。
模块的名称是什么,控制器文件夹中有什么。
我认为操作的第一位应该是控制器的名称,然后是管理员控制器和操作的路径
动作标签以下列方式构建。
<action>matrixrate/adminhtml_index/index</action>
|--module--|--controller---|-action-|
HTH
答案 2 :(得分:0)
在config.xml中授予acl权限。
<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>
刷新缓存,注销并再次登录。