2016-06-15 11 views
0

Magentoを使い始めたばかりで、インターネット上で数多くのチュートリアルに従っていますが、どうして新しい管理パネルページが読み込まれないのか分かりません。この時点で、404エラーページ以外のページにリダイレクトしようとしています。どんな助けも非常に高く評価されます!ここで私が持っているものです。Magento 1.9.2カスタム管理タブ

... /アプリ/コード/ローカル/名前/ Mouduleの/ etc/config.xmlに

<?xml version="1.0" encoding="UTF-8"?> 
<config> 
    <modules> 
     <Name_Module> 
      <version>0.1.0.0</version> 
     </Name_Module> 
    </modules> 
    <global> 
     <models> 
      <module> 
       <class>Name_Module_Model</class> 
      </module> 
     </models> 
     <helpers> 
      <name_module> 
       <class>Mage_Core_Helper</class> 
      </name_module> 
     </helpers> 
     ... 
    </global> 
    <admin> 
     <routers> 
      <adminhtml> 
       <args> 
        <modules> 
         <module>Name_Module_index</module> 
        </modules> 
       </args> 
      </adminhtml> 
     </routers> 
     <layout> 
      <updates> 
       <module> 
        <file>module.xml</file> 
       </module> 
      </updates> 
     </layout> 
    </admin> 
</config> 

... /アプリ/コード/ローカル/名前/ Moudule /ローカルなど/ adminhtml.xml

<?xml version="1.0" encoding="UTF-8"?> 
<config> 
    <menu> 
     <module module="name_module" translate="title"> 
      <title>Test Tab</title> 
      <sort_order>100</sort_order> 
      <children> 
       <index module="name_module" translate="title"> 
        <title>First Subtab</title> 
        <sort_order>1</sort_order> 
        <action>adminhtml/module</action> 
       </index> 
      </children> 
     </module> 
    </menu> 
    <acl> 
     <resources> 
      <admin> 
       <children> 
        <system> 
         <children> 
          <config> 
           <children> 
           <module translate="title" module="name_module"> 
            <title>Test Tab</title> 
            <sort_order>-100</sort_order> 
            <children> 
             <index translate="title"> 
              <title>First Subtab</title> 
              <sort_order>1</sort_order> 
             </index> 
            </children> 
           </module> 
           </children> 
          </config> 
         </children> 
        </system> 
       </children> 
      </admin> 
     </resources> 
    </acl> 
</config> 

... /アプリ/コード/ローカル/名前/ Moudule /コントローラ/ Adminhtml/CustomController.php

<?php 
class Name_Module_Adminhtml_CustomController extends Mage_Adminhtml_Controller_Action 
{ 

    public function indexAction() 
    { 
     $this->loadLayout() 
      ->_setActiveMenu('module') 
      ->_title($this->__('First Sub Tab')); 

     // my stuff 

     $this->renderLayout(); 
     error_log("The function is being called somewhere",0); //not working 
    } 
} 

... \アプリは\ code \ \名前\モジュール\ヘルパー\ Data.php

<?php 
class Name_Module_Helper_Data extends Mage_Core_Helper_Abstract 
{ 
} 

... \アプリケーション\設計\ adminhtml \デフォルト\デフォルトモジュール\ \ test.phtml

<?php echo "TEST"; 
error_log("The page is being called somewhere",0); 

このすべての後、私はタブを見ることができていますサブタブをクリックすると、「404ページが見つかりません」ページが表示されます。どんな助けでも大いに感謝します。あなたのconfig.xmlに

+0

ああ、カスタムモジュールName_Moduleの名前を付けないように助言したいと思います。私はそれが唯一のプレースホルダだと思います:)確かに、あなたのモジュールは目的を持っています、なぜ機能の後に名前をつけませんか? – Sam

答えて

1

は、あなたの実際のヘルパークラスを表示するには、ノードを変更:管理者ノードで

<helpers> 
    <name_module> 
     <class>Name_Module_Helper_Data</class> 
    </name_module> 
</helpers> 

を、ルーターは次のようになります。あなたのadminhtml.xmlで

<routers> 
    <adminhtml> 
     <args> 
      <modules> 
       <Name_Module>Name_Module_Adminhtml</Name_Module> 
      </modules> 
     </args> 
    </adminhtml> 
</routers> 

を子/インデックス/アクションを確認してください:

<children> 
    <index module="name_module" translate="title"> 
     <title>First Subtab</title> 
     <sort_order>1</sort_order> 
     <action>adminhtml/custom/index</action> 
    </index> 
</children> 

アクションは、コントローラパスと対応する 方法。

これは私が目にすることができるものです。私は何も見逃していないことを願っています。変更を加えてログアウトして管理者に戻ったら、キャッシュをクリアします。

+0

サム、とてもありがとう!数日間の頭痛をかなり早く解決しました。ありがとうございました!!! – StevanZakel

関連する問題