尝试访问配置面板时Magento system.xml和404错误

时间:2011-06-21 09:09:52

标签: magento configuration system http-status-code-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>

好吧,我的模块本身没有麻烦。只有管​​理员设置不起作用:/

3 个答案:

答案 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>

刷新缓存,注销并再次登录。