Вставка блока плагинов Magento

я создал модуль в magento, и я хочу добавить блок, но он не работает для меня.

структура моей папки:

local/JR/CreateAdminController/etc/config.xml
local/JR/CreateAdminController/etc/adminhtml.xml
local/JR/CreateAdminController/controller/Adminhtml/CustomController.php
local/JR/CreateAdminController/block/Monblock.php

config.xml

    <?xml version="1.0"?>
<config>
<modules>
<JR_CreateAdminController>
<version>1.0.0</version>
</JR_CreateAdminController>
</modules>
<global>
<helpers>
<jr_createadmincontroller>
<!-- Helper definition needed by Magento -->
<class>Mage_Core_Helper</class>
</jr_createadmincontroller>
</helpers>
</global>
<admin>
<routers>
<adminhtml>
<args>
<modules>
<foo_bar                                   before="Mage_Adminhtml">JR_CreateAdminController_Adminhtml
</foo_bar>
</modules>
</args>
</adminhtml>
</routers>
</admin>
</config>

adminhtml.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
<menu>
<mycustomtab module="jr_createadmincontroller" translate="title">
<title>Test</title>
<sort_order>100</sort_order>
<action>adminhtml/custom/</action>

</mycustomtab>
</menu>
</config>

CustomController.php

<?php

class JR_CreateAdminController_Adminhtml_CustomController extends Mage_Adminhtml_Controller_Action
{
public function indexAction()
{

$this->loadLayout()
->_setActiveMenu('mycustomtab')
->_title($this->__('test'));

$block = $this->getLayout()
->createBlock('core/text', 'example-block')
->setText('<h1>Hello!</h1>');


$this->_addContent($block);
$this->renderLayout();

}

}

приложение \ дизайн \ adminhtml \ по умолчанию \ умолчанию \ расположение \ test.xml

<layout version="0.1.0">
<default>
<reference name="content">
</reference>
</default>
<routeurfrontend_index_index>
<reference name="content">
<block type="test/monblock"  name="afficher_monbloc"template="test/afficher.phtml" />
</reference>
</routeurfrontend_index_index>
</layout>

местный / JR / CreateAdminController / блок / Monblock.php

<?php
class JR_CreateAdminController_Block_Monblock extends Mage_Core_Block_Template
{
public function methodblock()
{
return ‘informations about my block !!’ ;
}
}

приложение \ дизайн \ adminhtml \ по умолчанию \ умолчанию \ шаблон \ тест \ afficher.phtml

 <?php
echo $this->methodblock();
?>

Как я могу включить свой блок в модуль ??

Помогите мне, пожалуйста

0

Решение

Я отредактировал ваш код и внес некоторые изменения, теперь он работает, как и ожидалось, найдите обновленный код ниже.

Файлы:

app\etc\modules\JR_CreateAdminController.xml
app\code\local\JR\CreateAdminController\etc\config.xml
app\code\local\JR\CreateAdminController\etc\adminhtml.xml
app\code\local\JR\CreateAdminController\controllers\Adminhtml\CreateAdminControllerController.php
app\code\local\JR\CreateAdminController\Helper\Data.php
app\code\local\JR\CreateAdminController\Block\Adminhtml\createadmincontroller.php
app\design\adminhtml\default\default\layout\createadmincontroller.xml
app\design\adminhtml\default\default\template\createadmincontroller\createadmincontroller.phtml

Код

Конфиг:

<?xml version="1.0"?>
<config>
<modules>
<JR_CreateAdminController>
<version>0.0.5</version>
</JR_CreateAdminController>
</modules>
<global>
<models>
<createadmincontroller>
<class>JR_CreateAdminController_Model</class>
</createadmincontroller>
</models>
<helpers>
<createadmincontroller>
<class>JR_CreateAdminController_Helper</class>
</createadmincontroller>
</helpers>
<blocks>
<createadmincontroller>
<class>JR_CreateAdminController_Block</class>
</createadmincontroller>
</blocks>
</global>
<admin>
<routers>
<adminhtml>
<use>admin</use>
<args>
<modules>
<createadmincontroller before="Mage_Adminhtml">JR_CreateAdminController_Adminhtml</createadmincontroller>
</modules>
</args>
</adminhtml>
</routers>
</admin>
<adminhtml>
<layout>
<updates>
<createadmincontroller>
<file>createadmincontroller.xml</file>
</createadmincontroller>
</updates>
</layout>
</adminhtml>
</config>

Adminhtml:

<?xml version="1.0" encoding="UTF-8"?>
<config>
<menu>
<createadmincontroller translate="title" module="createadmincontroller">
<title>CreateAdminController</title>
<sort_order>95</sort_order>
<children>
<createadmincontroller translate="title" module="createadmincontroller">
<title>CreateAdminController</title>
<sort_order>1</sort_order>
<action>adminhtml/createadmincontroller/index</action>
</createadmincontroller>
</children>
</createadmincontroller>
</menu>
<!-- The <acl> section is for access control. Here we define the pieces where access can be controlled within a role. -->
<acl>
<resources>
<admin>
<children>
<createadmincontroller>
<title>Training Menu Item</title>
<children>
<createadmincontroller translate="title" module="createadmincontroller">
<title>Training Menu Item</title>
</createadmincontroller>
</children>
</createadmincontroller>
</children>
</admin>
</resources>
</acl>
</config>

CreateAdminControllerController:

<?php

class JR_CreateAdminController_Adminhtml_CreateAdminControllerController
extends Mage_Adminhtml_Controller_Action
{
public function indexAction()
{
$this->getLayout()->createBlock('createadmincontroller/adminhtml_createadmincontroller');
Mage::register('myname', 'Ashish Ranade');
$this->loadLayout();
$this->renderLayout();
}
}

Помощник:

<?php
class JR_CreateAdminController_Helper_Data extends Mage_Core_Helper_Abstract
{

}

Блок:

<?php

class JR_CreateAdminController_Block_Adminhtml_CreateAdminController
extends Mage_Core_Block_Template
{

public function getMyName()
{
$name = Mage::registry('myname');
return ( $name ) ? $name : 'Name not found';
}

}

Макет:

<?xml version="1.0"?>
<layout version="0.1.0">
<adminhtml_createadmincontroller_index>
<reference name="content">
<block type="createadmincontroller/adminhtml_createadmincontroller" name="createadmincontroller" template="createadmincontroller/createadmincontroller.phtml"/>
</reference>
</adminhtml_createadmincontroller_index>
</layout>

Шаблон:

<?php
echo $this->getMyName();

Это рабочий модуль вашего сценария, ваша проблема возникает из-за того, что вы использовали ключевое слово в имени вашего модуля «Контроллер», это может вызвать путаницу.

Удачного кодирования 🙂

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector