1

我试图为 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
}
?>

应用程序/代码/本地/公司/控制器/Adminhtml/IndexController.php

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


}
?>

应用程序/代码/本地/公司/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>

应用程序/代码/本地/公司/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 ......但我真的找不到如何解决它。

谢谢,

4

3 回答 3

1

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

请使用以下链接在线生成模块创建者

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

还有一件事,如果同样的错误会再次产生,请用magento清除你的缓存以及你的浏览器缓存

有美好的一天。

让我知道我是否可以为您提供更多帮助。

于 2013-05-12T13:03:40.203 回答
1

也许答案真的很简单。尝试CustomList to Customlist在所有文件中的任何位置重命名。如果这不是答案,您可以尝试将您的设置和文件与此链接进行比较

于 2013-05-11T21:30:08.027 回答
0

创建 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>
于 2013-05-12T18:57:42.797 回答