在magento admin中从一个控制器创建多个页面

时间:2011-12-21 19:19:55

标签: php magento

我可以在控制器中使用此控制器在Magento管理员中加载一个页面,对于此示例,该控制器位于app/code/local/me/one/IndexController.php中:

  public function indexAction()
    {
        $this->loadLayout();
        $this->_addContent($this->getLayout()->createBlock('adminhtml/template')->setTemplate('one/one.phtml'));
     }

我在config.xml中创建了我的菜单

 <adminhtml>
        <menu>
            <catalog>
                <children>
                     <one_menu translate="title" module="foo">
                        <title>TEST</title>
                        <children>
                            <list translate="title" module="foo">
                                <title>one</title>
                                <action>one/index/index</action>
                            </list>
                            <new translate="title" module="foo">
                                <title>two</title>
                                <action>two/index/index</action>
                            </new>
                        </children>
                    </one_menu>
                </children>
            </catalog>
        </menu>

    </adminhtml>

但我不知道如何在我的示例二/ index / index中创建第二个链接?如何在控制器中添加第二页?第二个链接的路径是什么?

我尝试在一个/ IndexController

中做这样的事情
public function twoAction ()
{ $this->loadLayout(); etc...}

并且认为这可能会像/ one / index / 2那样记下一个网址,但我不知道我在做什么(显然)。感谢任何帮助magento真的让我困惑。

1 个答案:

答案 0 :(得分:2)

你有正确的答案而且不知道。在XML中将第二个<action>更改为one/index/two,这将生成正确的URL。现在,您可以在同一个控制器中创建额外的twoAction()方法,它将接收对该URL的请求。

了解controller dispatches了解详情。另请尝试使用this one之类的配置,这样您的网址也可以以“admin”开头。