Пользовательский модуль не работает в Magento 1.9

#php #magento-1.9

#php #magento-1.9

Вопрос:

Я создал пользовательский модуль в Magento, но он не работает.

Мой файл активации модуля appetcmodulesKnowledge_Gain.xml .

Ниже приведен код активации моего модуля:

 <?xml version="1.0"?>
<config>
    <modules>
        <Knowledge_Gain>   
            <active>true</active>  
            <codePool>local</codePool> 
        </Knowledge_Gain>
    </modules>
</config>`
  

Мой конфигурационный файл appcodelocalKnowledgeGainetcconfig.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>`
  

Мой файл контроллера appcodelocalKnowledgeGaincontrollersIndexController.php

 <?php
class Knowledge_Gain_IndexController extends Mage_Core_Controller_Front_Action
{
    public function indexAction()
    {
        echo "Knowledge Gain Activated";
        $this->loadLayout();  
        $this->renderLayout();
    }
}
  

Мой файл блока appcodelocalKnowledgeGainBlockTrail.php

 <?php
class Knowledge_Gain_Block_Trail extends Mage_Core_Block_Template
{
    public function getContent()
    {
        return "Block Activated";
    }
  

И файл макета appdesignfrontendrwddefaultlayoutgain.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>` 
  

И файл шаблона appdesignfrontendrwddefaulttemplatehello.phtml

 <?php
echo $this->getContent();
echo get_class($this);
?>
  

Что я делаю не так в этом коде? Содержимое блока не отображается.

Кто-нибудь, пожалуйста, помогите мне, заранее спасибо.

Комментарии:

1. На первый взгляд ваш код выглядит правильно. Для тестирования переместите XML-файл макета и файл шаблона в базовый / каталог по умолчанию и посмотрите, работает ли он тогда.

Ответ №1:

Все в порядке. я проверил ваш модуль, он работает.

Пожалуйста, очистите систему кэша> Управление кэшем> нажмите кнопку «Очистить кэш Magento»

после проверки вашего модуля

Ответ №2:

Этот код модуля правильный. В версии Magento 1.9.1 или выше вам необходимо добавить новый блок в admin. Пожалуйста, выполните несколько шагов:

Шаг 1: Администратор>> Разрешение>> Заблокировать>> Добавить новый блок и сохранить блок.

Шаг 2: Система> Управление кэшем> нажмите кнопку «Очистить кэш Magento».