无法呼叫magento管理员控制器

时间:2015-06-01 20:32:19

标签: php magento e-commerce magento-1.9

我创建了自定义模块目录中添加了两个菜单。我还为其中一个菜单创建了控制器,但控制器永远不会被调用,而是被重定向到管理信息中心页面。

我的问题是与此问题相关的一些内容Magento admin routing isn't working

我已经尝试了答案中提到的建议,但没有一个对我有用。

我什么时候拨打网址http://localhost/compare/index.php/ecomm/index/key/bb9f436ee373421b170aa862a1cbb305/

我被重定向到http://localhost/compare/index.php/admin/dashboard/index/key/bb9f436ee373421b170aa862a1cbb305/,你好世界永远不会被打印出来。

我正在使用 magento 1.9 并已禁用所有缓存。

我的模块名称是 Super_Awesome ,下面是目录结构

Super
|
|-Awesome
  |-etc          (adminhtml.xml, config.xml)
  |-controllers  (ManageEcomm.php)
  |-Helper       (Data.php)

app / etc / modules / Super_Awesome.xml中的配置文件如下

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

app / code / local / Super / Awesome / etc / config.xml中的配置文件是

<?xml version="1.0"?>
<config>
    <modules>
        <Super_Awesome>
            <version>0.1.0</version>
        </Super_Awesome>
    </modules> 

    <admin>
        <routers>
            <ecomm>
                <use>admin</use>
                <args>
                    <module>Super_Awesome</module>
                    <frontName>ecomm</frontName>
                </args>
            </ecomm>
        </routers>
    </admin>
    <adminhtml>
        <!-- The <acl> section is for access control. Here we define the pieces where access can be controlled within a role. -->
        <acl>
            <resources>
                <admin>
                    <children>
                        <catalog>
                            <!--<title>Awesome Menu Item</title>-->
                            <children>
                                <example translate="title" module="awesome">
                                    <title>Manage Ecommerce</title>
                                </example>
                                <example1 translate="title" module="awesome">
                                    <title>Manage Ecommerce Pages</title>
                                </example1>
                            </children>
                        </catalog>
                    </children>
                </admin>
            </resources>
        </acl>

    </adminhtml>

    <global>
        <helpers>
            <awesome>
                <class>Super_Awesome_Helper</class>
            </awesome>
        </helpers>
    </global>

</config>

控制器app / code / local / Super / Awesome / controllers / IndexController.php

<?php
class Super_Awesome_IndexController extends Mage_adminhtml_Controller_Action
{
    public function indexAction()
    { 
        echo "hello world";
        exit();
    }
}

最后是app / code / local / Super / Awesome / etc /

中的adminhtml.xml文件
<?xml version="1.0"?>
<config>
    <menu>
        <catalog translate="title" module="awesome">
            <!--<title>Awesome</title>
            <sort_order>15</sort_order>-->
            <children>
                <example translate="title" module="awesome">
                    <title>Manage Ecommerce</title>
                    <sort_order>1</sort_order>
                    <action>adminhtml/ecomm</action>
                </example>
                <example1 translate="title" module="awesome">
                    <title>Manage Ecommerce Pages</title>
                    <sort_order>2</sort_order>
                    <action>adminhtml/example/index</action>
                </example1>
            </children>
        </catalog>
    </menu>
</config>

2 个答案:

答案 0 :(得分:2)

我认为您错过了<modules/>add your new module as a router for adminhtml所在的部分。它应该是这样的:

  

当Magento尝试查找管理员URL的控制器文件时,它还会检查此<config> <admin> <routers> <adminhtml> <args> <modules> <Super_Awesome after="Mage_Adminhtml">Super_Awesome</Super_Awesome> </modules> </args> </adminhtml> </routers> </admin> </config> 标记内配置的任何模块。

NSKeyedUnarchiver

答案 1 :(得分:0)

我终于找到了自己创建模块并不好的方法。如果你犯了错误,你可能会花费宝贵的时间找出问题所在。

最好从Ultimate Module Creator安装模块创建者扩展程序或使用Silk提供的在线工具