2

管理エリアからのみ表示される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';
}
}
4

1 に答える 1

5

これは、リダイレクトしている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/");

お役に立てれば!!

于 2012-08-29T18:21:03.900 に答える