【问题标题】:Magento show 404 on custom admin module gridMagento 在自定义管理模块网格上显示 404
【发布时间】:2014-01-20 11:18:21
【问题描述】:

尝试制作自定义管理模块。但是得到了 404。

我的模块在管理导航菜单上显示为:报告 > 联系日志

但是当我点击联系日志时,我得到了 404 的 url: example.com/index.php/contactsformlog/adminhtml_contactsformlog/key/6748y9967899678tijuhy78u78

我的 etc/config.xml:

   .....
  <adminhtml>
        <menu>
            <report>
                <children>
                    <items module="contactsformlog">
                        <title>Contact Logs</title>
                        <sort_order>99999999999</sort_order>
                        <action>contactsformlog/adminhtml_contactsformlog</action>
                    </items>
                </children>
            </report>
        </menu>
        <acl>
            <resources>
                <all>
                    <title>Allow Everything</title>
                </all>
                <admin>
                    <children>
                        <KM_ContactsFormLog>
                            <title>ContactsFormLog Module</title>
                            <sort_order>10</sort_order>
                        </KM_ContactsFormLog>
                    </children>
                </admin>
            </resources>
        </acl>
        <layout>
            <updates>
                <contactsformlog>
                    <file>contactsformlog.xml</file>
                </contactsformlog>
            </updates>
        </layout>
    </adminhtml>   
    ......

design/adminhtml/default/default/layout/contactsformlog.xml

<?xml version="1.0"?>
<layout version="0.1.0">
    <contactsformlog_adminhtml_contactsformlog_index>
        <reference name="content">
            <block type="contactsformlog/adminhtml_contactsformlog" name="contactsformlog" />
        </reference>
    </contactsformlog_adminhtml_contactsformlog_index>
</layout>

这里有什么问题? 如果您需要任何其他信息,请随时询问。 Magento 版本。 1.8.0.0。

更新:

完整的 config.xml 文件:http://pastebin.com/KeMnMHEL

在我的 xampp 上这个模块可以工作,但在现场表演 404.. 不知道如何调试问题出在哪里?将所有模块文件复制到ftp。

在其中包含控制器 KM/ContactsFormLog/controllers/Adminhtml/ContactsformlogController.php 和 indexAction。

在 var/log/system.txt 我发现:

2014-01-21T08:15:01+00:00 调试(7):看前面:/index.php/contactsformlog/adminhtml_contactsformlog/index/key/60b1f0d8871bb3f16be54bb725908581/ 2014-01-21T08:15:01+00:00 调试 (7): 清空缓存报价。

【问题讨论】:

    标签: xml magento


    【解决方案1】:

    您缺少模块的路由器声明。
    将此添加到与adminhtml 标记相同级别的config.xml 中(作为兄弟)。

    <adminhtml>
         ....
    </adminhtml>
    <admin>
        <routers>
            <contactsformlog>
                <use>admin</use>
                <args>
                    <module>[Namespace]_Contactsformlog</module>
                    <frontName>contactsformlog</frontName>
                </args>
            </contactsformlog>
        </routers>
    </admin>
    

    用真正的命名空间替换[Namespace]。

    【讨论】:

    • @KārlisMillers。对不起这是我的错。我忘记了&lt;admin&gt; 标签。立即尝试。
    • 你有控制器Namespace/Module/controllers/Adminhtml/ContactsformlogController.php和indexAction吗?
    • 哦...我想我现在知道为什么了。这是因为控制器的名称。将其命名为 ContactsgormlogController 而不是 ContactsFormLogController。 Unix 系统的文件名区分大小写。它在 Windows 上运行良好,但文件名在 unix 上不一样
    • 感谢调试。解决创建具有不同命名的模块。
    猜你喜欢
    • 2015-10-03
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多