管理员中的Magento 1错误404

时间:2018-07-21 12:00:36

标签: php-5.6 magento-1.13

在我的Magento 1模块中,我创建了一个菜单“脚本队列”。在我的adminhtml.xml中,我这样写:

<?xml version="1.0"?>
<config>
    <menu>
        <system>
            <children>
                <magentoadminscriptqueue translate="title" module="magentoadminscriptqueue">
                    <sort_order>20</sort_order>
                    <title>Script Queue</title>
                    <action>adminhtml/script/index</action>
                </magentoadminscriptqueue>
            </children>
        </system>
    </menu>
    <acl>
        <resources>
            <admin>
                <children>
                    <system>
                        <children>
                            <magentoadminscriptqueue translate="title" module="magentoadminscriptqueue">
                                <title>Script Queue</title>
                                <sort_order>360</sort_order>
                            </magentoadminscriptqueue>
                        </children>
                    </system>
                </children>
            </admin>
        </resources>
    </acl>
</config>

然后在config.xml中添加以下内容:

<?xml version="1.0"?>
<config>
   ...
   <admin>
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <magentoadminscriptqueue before="Mage_Adminhtml">UF_MagentoAdminScriptQueue_Adminhtml</magentoadminscriptqueue>
                    </modules>
                </args>
            </adminhtml>
        </routers>
    </admin>
</config>

这是我在路径controller / Adminhtml / ScriptController.php中的Controller:

<?php

class UF_MagentoAdminScriptQueue_Adminhtml_ScriptController extends Mage_Adminhtml_Controller_Action
{
    public function indexAction()
    {
        $this->loadLayout();

        $block = $this->getLayout()->createBlock('core/text', 'magentoadminscriptqueue-block')->setText('<h1>UF Admin Script Queue</h1>');
        $this->_addContent($block);
        $this->_setActiveMenu('magentoadminscriptqueue_menu')->renderLayout();
    }

    public function getCategoriesAction()
    {

    }

    public function importCategoriesAction()
    {

    }

    public function exportProductToCsvAction()
    {

    }

    public function updateMediaGalleryAction()
    {

    }
}

我看到了Menuentry,但是当我单击Menuentry时,出现错误404。有人知道我做错了什么或忘记了什么吗?

欢呼 克斯特尔

1 个答案:

答案 0 :(得分:0)

为了获得新的ACL(访问控制列表,它告诉Magento谁有权使用该内容),您需要在“安装”新模块后重新登录。 发生这种情况时,菜单点路线(magentoadminscriptqueue)尚未被允许访问的页面列表中。

再次登录后,您的ACL将被更新,因此将被授予访问权限。

显示404错误是一种安全措施,不能使控制器确实存在。 (防止尝试在其中找到后门)。