2012-08-28 57 views
1

我想创建一个只能从管理区域可见的Magento的新模块。Magento管理模块控制器 - 加载另一个动作

我已经成功创建了模块,现在已经创建了一个名为'editproducts'的控制器。在这个控制器中我有indexAction和testAction。

当我去/ quickedit/editproducts /它从控制器加载indexAction完美的罚款,但是当我去/ quickedit/editproducts/test /它重定向到仪表板而不是调用testAction。从我看到的教程中,我似乎已经正确设置了一切。

我的config.xml文件:

<config> 
<modules> 
    <Test_Quickedit> 
     <version>0.1.0</version> 
    </Test_Quickedit> 
</modules> 

<global> 
    <helpers> 
     <quickedit> 
      <class>Test_Quickedit_Helper</class> 
     </quickedit> 
    </helpers> 
</global>   

<admin> 
    <routers> 
     <the_name_of_this_element_is_not_important_it_should_be_unique> 
      <use>admin</use> 
      <args> 
       <module>Test_Quickedit</module> 
       <frontName>quickedit</frontName> 
      </args> 
     </the_name_of_this_element_is_not_important_it_should_be_unique> 
    </routers> 
</admin> 

<adminhtml> 
    <menu> 
     <menu1 translate="title" module="quickedit"> 
      <title>Test</title> 
      <sort_order>60</sort_order> 
      <children> 
       <menuitem1 module="quickedit"> 
        <title>Edit Products</title> 
        <action>quickedit/editproducts</action> 
       </menuitem1> 
      </children>     
     </menu1> 
    </menu> 
<acl> 
     <resources> 
      <admin> 
       <children> 
        <catalog> 
         <children> 
          <quickedit_editproducts> 
           <title>Edit Products</title> 
          </quickedit_editproducts> 
         </children> 
        </catalog> 
       </children> 
      </admin> 
     </resources> 
    </acl> 
</adminhtml>  
</config> 

我EditproductsController.php

class Test_Quickedit_EditproductsController extends Mage_Adminhtml_Controller_Action 
{ 
public function indexAction() 
{ 
    echo 'edit products'; 
} 

public function testAction() 
{ 
    echo 'test'; 
} 
} 
+0

您是如何为testAction生成url的?它需要从代码中生成,因为它需要密钥(不能直接访问,只能通过浏览器更改url) – ivantedja

+0

EditproductsController的路径是什么?如果你在echo'test'后设置退出,它会做什么不同的事情吗? – Nate

+0

嗨ivantedja,我必须在哪里生成URL?我遵循了许多教程来创建一个模块,并没有提到手动生成URL。 –

回答

4

这只是因为你重定向不包含关键

如果你的URL检查管理模块的URL,然后你看到一个关键字也被添加到URL中,所以为了生成正确的URL使用下面的代码。

$URL = Mage::helper("adminhtml")->getUrl("mymodule/adminhtml_mycontroller/myaction/",array("param1"=>1,"param2"=>2)); 

$URL = Mage::helper("adminhtml")->getUrl("mymodule/adminhtml_mycontroller/myaction/"); 

希望这有助于!

+0

这个完美的作品!非常感谢你! –

相关问题