我在Magento中创建了自定义模块,但它不起作用。
我的模块激活文件是app\etc\modules\Knowledge_Gain.xml
。
以下是我的模块激活码:
<?xml version="1.0"?>
<config>
<modules>
<Knowledge_Gain>
<active>true</active>
<codePool>local</codePool>
</Knowledge_Gain>
</modules>
</config>`
我的配置文件是app\code\local\Knowledge\Gain\etc\config.xml
<?xml version="1.0"?>
<config>
<modules>
<Knowledge_Gain>
<version>0.1.0</version>
</Knowledge_Gain>
</modules>
<frontend>
<routers>
<gain>
<use>standard</use>
<args>
<module>Knowledge_Gain</module>
<frontName>gain</frontName>
</args>
</gain>
</routers>
<layout>
<updates>
<gain>
<file>gain.xml</file>
</gain>
</updates>
</layout>
</frontend>
<global>
<blocks>
<gain>
<class>Knowledge_Gain_Block</class>
</gain>
</blocks>
</global>
</config>`
我的控制器文件是app\code\local\Knowledge\Gain\controllers\IndexController.php
<?php
class Knowledge_Gain_IndexController extends Mage_Core_Controller_Front_Action
{
public function indexAction()
{
echo "Knowledge Gain Activated";
$this->loadLayout();
$this->renderLayout();
}
}
我的阻止文件是app\code\local\Knowledge\Gain\Block\Trail.php
<?php
class Knowledge_Gain_Block_Trail extends Mage_Core_Block_Template
{
public function getContent()
{
return "Block Activated";
}
布局文件为app\design\frontend\rwd\default\layout\gain.xml
<?xml version="1.0"?>
<layout version="0.1.0">
<gain_index_index>
<reference name="content">
<block type="gain/trail" name="gain" template="hello.phtml" />
</reference>
</gain_index_index>
</layout>`
模板文件为\app\design\frontend\rwd\default\template\hello.phtml
<?php
echo $this->getContent();
echo get_class($this);
?>
我在这段代码中做错了什么?不显示块内容。
任何人都请帮助我,提前谢谢。
答案 0 :(得分:0)
一切都好。我检查了你的模块,它正在工作。
请清除缓存 系统&gt;缓存管理&gt;点击“Flush Magento Cache”按钮
检查模块后
答案 1 :(得分:0)
此模块代码是正确的。在Magento ver 1.9.1或更高版本中,您需要 在admin中添加新块。请按照几步:
第1步:管理员&gt;&gt;许可&gt;&gt;阻止&gt;&gt;添加新块并保存块。
步骤2:系统&gt;缓存管理&gt;点击&#34; Flush Magento Cache&#34;按钮。