#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».