【问题标题】:Magento custom admin module 404 not foundMagento 自定义管理模块 404 未找到
【发布时间】:2013-05-06 06:22:24
【问题描述】:

我尝试为 magento 管理部分创建一个新模块。我看过很多关于这个问题的主题,但没有一个能解决我的问题。

我在 app/etc/modules/ 中创建了一个名为 Company_CustomList.xml 的文件

<?xml version="1.0"?>
<config>
         <modules>
                <Company_CustomList>
                        <active>true</active>
                        <codePool>local</codePool>
                </Company_CustomList>
         </modules>
</config>

然后在 app/code/local/Company/CustomList 我创建了以下文件:

app/code/local/Company/CustomList/Block/List.php

<?php
class Company_CustomList_Block_List extends Mage_Core_Block_Template
{
  // necessary methods
}
?>

app/code/local/Company/controllers/Adminhtml/IndexController.php

<?php
class Company_CustomList_Adminhtml_IndexController extends Mage_Adminhtml_Controller_Action
{
    public function indexAction()
    {
        $this->loadLayout();
        $this->renderLayout();
    }


}
?>

app/code/local/Company/etc/config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Company_CustomList>
            <version>0.1.0</version>
        </Company_CustomList>
    </modules>
    <adminhtml>
        <acl>
            <resources>
                <admin>
                    <children>
                        <customlist>
                            <title>Custom list</title>
                            <children>
                                <example translate="title" module="customlist">
                                    <title>Index</title>
                                </example>
                            </children>
                        </customlist>
                    </children>
                </admin>
            </resources>
        </acl>
    </adminhtml>
    <global>
        <helpers>
            <customlist>
                <class>Company_CustomList_Helper</class>
            </customlist>
        </helpers>
    </global>
</config>

app/code/local/Company/etc/adminhtml.xml

<?xml version="1.0"?>
<config>
    <menu>
        <customlist translate="title" module="customlist">
            <title>Custom list</title>
            <sort_order>15</sort_order>
            <children>
                <example translate="title" module="customlist">
                    <title>Index</title>
                    <sort_order>1</sort_order>
                    <action>adminhtml/customlist/index</action>
                </example>
            </children>
        </customlist>
    </menu>
    <acl>
        <resources>
            <admin>
                <children>
                    <customlist translate="title" module="customlist">
                        <title>Custom list</title>
                        <sort_order>15</sort_order>
                        <children>
                            <example translate="title" module="customlist">
                                <title>Index</title>
                                <sort_order>1</sort_order>
                                <action>adminhtml/customlist/index</action>
                            </example>
                        </children>
                    </customlist>
                </children>
            </admin>
        </resources>
    </acl>
</config>

app/code/local/Company/Helper/Data.php

<?php
class Company_CustomList_Helper_Data extends Mage_Core_Helper_Abstract {

}

?>

问题可能来自我的 ACL……但我真的找不到解决方法。

谢谢,

【问题讨论】:

  • 你可以在问题文本中包含问题吗?
  • 您的模块缺少routers 定义。
  • Company_CustomList_Adminhtml_IndexController 的位置应该是 app/code/local/Company/{CustomList}/controllers/Adminhtml/IndexController.php 而不是 app/code/local/Company/controllers/Adminhtml/IndexController.php

标签: php magento http-status-code-404


【解决方案1】:

也许答案真的很简单。尝试在所有文件中重命名CustomList to Customlist。如果这不是答案,您可以尝试将您的设置和文件与此link

进行比较

【讨论】:

  • 您好,感谢您的建议,但它不起作用:(。
【解决方案2】:

这里建议你制作新模块,你可以使用模块创建器,如果你想利用你的时间,你可以避免这样的错误。

请使用以下链接在线生成module creator

或者您也可以从各个站点下载模块创建器,只需搜索即可。

如果再次产生同样的错误,请使用 magento 清除缓存以及浏览器缓存

祝你有美好的一天。

如果我能帮助你更多,请告诉我。

【讨论】:

  • 感谢您的链接。现在不用到腰时间了。我只关注代码:)
【解决方案3】:

当创建一个 magento 管理模块时,你可以通过以下两种方式之一创建它(上面的菜​​单 url 不起作用)

<adminhtml>
    <menu>
        <menu1 translate="title" module="customlist">
            <title>ActiveCodeline SampleModule1</title>
            <sort_order>60</sort_order>
            <children>
                <menuitem1 module="SampleModule1">
                    <title>Menu item 1</title>
                    <action>{{adminhtml/customlist}}/index</action>
                </menuitem1>

<admin>
    <routers>
        <adminhtml>
            <args>
                <modules>
                    <Company_CustomList before="Mage_Adminhtml">Foo_Bar_Adminhtml</Company_CustomList>
                </modules>
            </args>
        </adminhtml>
    </routers>
</admin>

或者

<adminhtml>
    <menu>
        <menu1 translate="title" module="customlist">
            <title>ActiveCodeline SampleModule1</title>
            <sort_order>60</sort_order>
            <children>
                <menuitem1 module="SampleModule1">
                    <title>Menu item 1</title>
                    <action>{{customlist}}/index</action>
                </menuitem1>


<admin>
    <routers>
        <samplemodule1>
            <use>admin</use>
            <args>
                <module>ActiveCodeline_SampleModule1</module>
                <frontname>customlist</frontname>
            </args>
        </samplemodule1>
    </routers>
</admin>

【讨论】:

    猜你喜欢
    • 2015-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多