2016-07-08 9 views
1

私は、管理オーダービューページにボタンを追加する小さなモジュールを作成しています。このボタンはカスタムコントローラアクションを起動し、(他のもの以外にも)請求書と出荷を作成します。Magentoカスタムボタンアクションの結果404

私はボタンを追加していると私はそれがparamenterとして現在の注文IDを追加し、(理論的には)私のコントローラのアクションを指すように得ることができますが、ボタンをクリックするだけで404ページに私を取得します。

私はこの私のconfig.xmlがあります

<admin> 
    <routers> 
     <adminhtml> 
      <args> 
       <modules> 
        <id_acscourier before="Mage_Adminhtml">ID_AcsCourier_Adminhtml</id_acscourier> 
       </modules> 
      </args> 
     </adminhtml> 
    </routers> 
</admin> 

そして、これは私のコントローラの始まりです:

class ID_AcsCourier_IndexController extends Mage_Adminhtml_IndexController 
{ 

    public function indexAction() { 
     $this->loadLayout(); 
     $this->renderLayout(); 
    } 

    public function voucherAction() { 
     // more stuff here... 
    } 
} 

私はconfig.xmlのコードについてはよく分からないです、私はサンプルを見つけましたこれは数時間の読書と検索の後でこの解決法を示唆していました。 アクションは出力を生成するものではありませんが、最後にメッセージを表示したいのですが(magentoが保存後に生成するものなど)

答えて

0

コントローラファイルは以下のように一致する必要があります

class [namespace]_[module_name]_Adminhtml_[controller_name] extends Mage_Adminhtml_Controller_Action { 
    public function indexAction() { 
      // your stuff 
    } 
} 

adminhtml.xml

<unique_tag> 
    <title>Manage Controller</title> 
    <sort_order>10</sort_order> 
    <action>adminhtml/[module_name]/[action]</action> 
</unique_tag> 
+0

私はコントローラー "ID_AcsCourier_Adminhtml_AcsCourierController"(ファイル名AcsCourierController.php)を私のモジュールのcontrollers/Adminhtmlフォルダーの下に置きましたが、結果は同じです... –

+0

完全な 'config.xml'ファイルを更新してください。あなたのURLは '404' –

0

あなたのモジュールのconfig.xmlとあなたのコントローラクラスの間に矛盾があります。モジュールに_Adminhtmlがあり、管理パネルをポイントする必要があります。しかし、あなたのコントローラはadminhtmlの外にあります。カスタムモジュールを作成している場合は、

<modules> 
    <id_acscourier before="Mage_Adminhtml">ID_AcsCourier</id_acscourier> 
<modules> 

または から_adminhtmlを削除...

をAdminhtml内部のコントローラを作成し、あなたが行ってもいいです!

+0

にありますコントローラはAdminhtmlの中にあります... –

+0

コントローラのクラス名を変更してください。あなたのIndexController.phpパスにコピーを貼り付けて、正しいクラス名を教えてくれます。 –

+0

これは 'ID/AcsCourier/controllers/Adminhtml /'です。現在のところAcsCourierControllerという名前のファイルは他の人の提案通りですが、IndexControllerも試してみました。 –

関連する問題