管理员中的Magento 1错误404



在我的Magento 1模块中,我创建了一个Menü条目"脚本队列"。在我的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中的控制器:

<?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()
{
}
}

我看到菜单项,但当我点击它时,我得到一个错误404。有人知道我做错了什么或忘记了什么吗?

干杯Kerstel

为了新的ACL(访问控制列表,告诉Magento谁有权使用什么(,您需要在"安装"新模块后重新登录。在您的事件中,菜单点路由(magentoadminscriptqueue(还不在您允许访问的页面列表中。

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

显示404错误是一种安全措施,不会让控制器明显存在。(防止试图找到后门(。

最新更新