Magento 1.9.2自定义管理员标签

时间:2016-06-15 13:34:58

标签: php xml magento

所以我对使用Magento相当新,而且我已经通过互联网进行了大量的教程,但无论如何都无法弄清楚为什么我的新管理面板页面无法加载。此时,我只是尝试将页面重定向到除404错误页面之外的任何内容。任何帮助将非常感谢!这就是我所拥有的:

... /应用程序/代码/本地/名称/ Moudule的/ etc / config.xml中

    <?xml version="1.0" encoding="UTF-8"?>
<config>
    <modules>
        <Name_Module>
            <version>0.1.0.0</version>
        </Name_Module>
    </modules>
    <global>
        <models>
            <module>
                <class>Name_Module_Model</class>
            </module>
        </models>
        <helpers>
            <name_module>
                <class>Mage_Core_Helper</class>
            </name_module>
        </helpers>
       ...
    </global>
    <admin>
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <module>Name_Module_index</module>
                    </modules>
                </args>
            </adminhtml>
        </routers>
        <layout>
            <updates>
                <module>
                    <file>module.xml</file>
                </module>
            </updates>
        </layout>
    </admin>
</config>

... /应用程序/代码/本地/名称/ Moudule的/ etc / adminhtml.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <menu>
        <module module="name_module" translate="title">
            <title>Test Tab</title>
            <sort_order>100</sort_order>
            <children>
                <index module="name_module" translate="title">
                    <title>First Subtab</title>
                    <sort_order>1</sort_order>
                    <action>adminhtml/module</action>
                </index>
            </children>
        </module>
    </menu>
    <acl>
        <resources>
            <admin>
                <children>
                    <system>
                        <children>
                            <config>
                                <children>
                                <module translate="title" module="name_module">
                                    <title>Test Tab</title>
                                    <sort_order>-100</sort_order>
                                    <children>
                                        <index translate="title">
                                            <title>First Subtab</title>
                                            <sort_order>1</sort_order>
                                        </index>
                                    </children>
                                </module>
                                </children>
                            </config>
                        </children>
                    </system>
                </children>
            </admin>
        </resources>
    </acl>
</config>

... /应用程序/代码/本地/名称/ Moudule /控制器/ Adminhtml / CustomController.php

<?php
class Name_Module_Adminhtml_CustomController extends Mage_Adminhtml_Controller_Action
{

    public function indexAction()
    {
        $this->loadLayout()
            ->_setActiveMenu('module')
            ->_title($this->__('First Sub Tab'));

        // my stuff

        $this->renderLayout();
        error_log("The function is being called somewhere",0); //not working
    }
}

... \应用\代码\本地\名称\模块\助手\ Data.php

<?php
class Name_Module_Helper_Data extends Mage_Core_Helper_Abstract
{
}

... \应用\设计\ adminhtml \默认\默认\模块\ test.phtml

    <?php echo "TEST";
error_log("The page is being called somewhere",0);

完成所有这些后,我可以在管理面板中看到标签和子标签,但是如果&#34; First Subtab&#34;点击它,它会指示我找到“找不到的页面”#34;页。任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:1)

在config.xml中更改节点以显示实际的Helper类:

<helpers>
    <name_module>
       <class>Name_Module_Helper_Data</class>
    </name_module>
</helpers>

在admin节点中,您的路由器应如下所示:

<routers>
    <adminhtml>
        <args>
            <modules>
                <Name_Module>Name_Module_Adminhtml</Name_Module>
            </modules>
        </args>
    </adminhtml>
</routers>

在您的adminhtml.xml中,检查children / index / action:

<children>
    <index module="name_module" translate="title">
        <title>First Subtab</title>
        <sort_order>1</sort_order>
        <action>adminhtml/custom/index</action>
    </index>
</children>

该动作表示控制器路径和相应的方法。

这是我能发现的,我希望我没有错过任何东西。在进行更改并注销并返回管理员后清除缓存。