2

私はmagento用のカスタムモジュールを書いていますが、ここでいくつかの問題があります. レイアウト xml が機能しません。私も例外やログを取得していません。また、管理パネルからキャッシュをフラッシュしてインデックスを再作成した後も試しました。こんにちはメッセージが表示され、IndexController.php の下に配置されますが、レイアウトは読み込まれません。

レイアウトxmlファイルは以下に配置されます /var/www/magento/app/design/frontend/default/default/layout/wsplugin.xml

config.xml

<?xml version="1.0"?>
<config>
   <modules>
          <NAMESPACE_WSPlugin>
                 <version>0.1.0</version>   
                 <depends>
                        <Mage_Catalog />
                 </depends>
          </NAMESPACE_WSPlugin>
   </modules>
   <frontend>
          <routers>
                 <wsplugin>
                        <use>standard</use>
                        <args>
                               <module>NAMESPACE_WSPlugin</module>
                               <frontName>wsplugin</frontName>  
                        </args>
                 </wsplugin>
          </routers>
          <layout>
                 <updates>
                        <wsplugin>
                               <file>wsplugin.xml</file>
                        </wsplugin>
                 </updates>
          </layout>
   </frontend>
   <global>
          <blocks>
                 <wsplugin>
                         <class>NAMESPACE_WSPlugin_Block</class>  
                 </wsplugin>
          </blocks>
          <helpers>
                 <wsplugin>
                        <class>NAMESPACE_WSPlugin_Helper</class> 
                 </wsplugin>
          </helpers>
   </global>
</config>

IndexController.php

<?php
 class NAMESPACE_WSPlugin_IndexController extends Mage_Core_Controller_Front_Action {
     public function indexAction() {
      $this->loadLayout(); 
          $this->renderLayout();
          echo 'hello message';
     }
}
?>

WSPlugin.php (NAMESPACE/WSPlugin/Block 配下)

<?php
   class NAMESPACE_WSPlugin_Block_WSPlugin extends Mage_Core_Block_Template {
    public function getWSPlugin() {
    return "get WS Plugin under Block";
    }
   }

wsplugin.xml

<?xml version="1.0"?>
<layout version="0.1.0">
<default>
       <reference name="content">
       </reference>
</default>
   <wsplugin_index_index>
       <reference name="content">
            <block type="wsplugin/wsplugin" name="wsplugin" template="wsplugin/wsplugin.phtml" />
        </reference>
   </wsplugin_index_index>
</layout>

wsplugin.phtml

<h4><?php echo 'Welcome in WS Plugin';
   echo $this->getWSPlugin();
?></h4>
4

3 に答える 3

0

レイアウトファイルwsplugin.xmlで使用する必要があります

<block type="core/template" name="wsplugin" template="wsplugin/wsplugin.phtml" />

于 2013-09-17T21:49:01.837 に答える