自定义模块在Magento 1.9中不起作用

时间:2016-10-05 05:47:14

标签: php magento-1.9

我在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);
?>

我在这段代码中做错了什么?不显示块内容。

任何人都请帮助我,提前谢谢。

2 个答案:

答案 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;按钮。