我正在为 magento 编写一个自定义模块并且在这里遇到了一些问题。我的布局 xml 不起作用。即使我没有得到任何异常或日志。在通过管理面板刷新缓存和重新索引后,我也尝试过。打印了hello 消息,该消息位于 IndexController.php 下,但未加载布局。
布局xml文件放在
/var/www/magento/app/design/frontend/default/default/layout/wsplugin.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>
索引控制器.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>