Шаблон для пользовательской вкладки панели администратора Не работает


Я создал модуль, который создает пользовательскую вкладку в панели администратора, но я не смог отобразить необходимые данные.`

Это мой config.xml файл

Путь: приложение/код/сообщество/JR/createadmincontroller/и т.д.

<?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 файл

Путь: приложение/код/сообщество/JR/createadmincontroller/и т.д.

<?xml version="1.0" encoding="UTF-8"?>
<config>
<menu>
    <mycustomtab module="jr_createadmincontroller" translate="title">
        <title>My Custom Tab</title>
        <sort_order>100</sort_order>
        <children>
            <index module="jr_createadmincontroller" translate="title">
                <title>Index Action</title>
                <sort_order>1</sort_order>
                <action>adminhtml/custom</action>
            </index>
            <list module="jr_createadmincontroller" translate="title">
                <title>List Action</title>
                <sort_order>2</sort_order>
                <action>adminhtml/custom/list</action>
            </list>
        </children>
    </mycustomtab>
</menu>
<acl>
    <resources>
        <admin>
            <children>
                <custom translate="title" module="jr_createadmincontroller">
                    <title>My Controller</title>
                    <sort_order>-100</sort_order>
                    <children>
                        <index translate="title">
                            <title>Index Action</title>
                            <sort_order>1</sort_order>
                        </index>
                        <list translate="title">
                            <title>List Action</title>
                            <sort_order>2</sort_order>
                        </list>
                    </children>
                </custom>
            </children>
        </admin>
    </resources>
</acl>
</config>

Это мой CustomController.php файл

Путь: приложение/код/сообщество/JR/createadmincontroller/контроллеры/Adminhtml

<?php
class JR_CreateAdminController_Adminhtml_CustomController extends       Mage_Adminhtml_Controller_Action
{
public function indexAction()
{
    $this->loadLayout()
        ->_setActiveMenu('mycustomtab')
        ->_title($this->__('Index Action'));

    // my stuff

    $this->renderLayout();
}

public function listAction()
{

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

        //var_dump(Mage::getSingleton('core/layout')->getUpdate()->getHandles());
        //die();
    // my stuff
        echo "string";

    $this->renderLayout();
}
}

Это мой jr_createadmincontroller.xml файл

Path:app/design/adminhtml/default/default/jr_createadmincontroller.xml

<?xml version="1.0"?>
<layout>
<adminhtml_custom_index>
    <reference name="content">
        <block type="core/template" name="custom_index" template="custom/index.phtml" />
    </reference>
</adminhtml_custom_index>
<adminhtml_custom_list>
    <reference name="content">
        <block type="core/template" name="custom_list" template="custom/list.phtml" />
    </reference>
</adminhtml_custom_list>

</layout>

Путь к пользовательской папке - app/design/adminhtml/по умолчанию/по умолчанию/Шаблон/Пользовательский

Есть index.phtml и list.phtml

Но на экране панели администратора ничего не отображается enter image description here

Author: Umer, 2017-04-03

2 answers

Первое, что приходит на ум: где ваши блочные классы? Чтобы показать материал, вам нужен как контроллер, так и блок. И вам также нужно определить блоки для дескриптора макета. Код, который вы используете сейчас, отображается правильно, но вы не определили никакого содержимого.

Я вижу, вы использовали код из Bubblecode, в котором также есть комментарии о том, что код не работает.

Расширение, которое показывает материал на любой странице, требует, по крайней мере, контроллера (который у вас уже есть), класс блоков и помощник (для переводов и т. Д.).

Чтобы определить ваши блоки, вам нужно добавить это в свой файл config.xml между тегами <global></global>:

<blocks>
    <jr_createadmincontroller>
        <class>JR_CreateAdminController_Block</class>
    </jr_createadmincontroller>
</blocks>

После этого вам нужно будет создать файл пользовательского макета, который будет использоваться для загрузки блоков на вашу страницу. Для этого вам понадобятся следующие вещи:

Определение файла макета adminhtml
В вашем config.xml создайте раздел <adminhtml> после закрывающего тега для <global>:

<adminhtml>
    <layout>
        <updates>
            <jr_createadmincontroller>
                <file>jr_createadmincontroller.xml</file>
            </jr_createadmincontroller>
        </updates>
    </layout>
</adminhtml>

Теперь вам необходимо создать этот XML-файл макета, который должен находиться по адресу app/design/adminhtml/default/default/layout/jr_customcontroller.xml. Код, который вам нужен в этом файле, будет выглядеть примерно так:

<?xml version="1.0"?>
<layout>
    <adminhtml_createadmincontroller_custom_index>
        <reference name="content">
            <block type="jr_createadmincontroller/adminhtml_custom" name="name.of.your.block" />
        </reference>
    </adminhtml_createadmincontroller_custom_index>
</layout>

После этого вам, возможно, также придется создавать шаблоны или использовать функции сетки по умолчанию, основанные на тех, которые Magento использует для продуктов, страниц CMS и т. Д.

Конечно, приведенный выше код не работает "из коробки", но я надеюсь, что он даст вам лучшее понимание того, что вам нужно для создания собственного контента контроллер adminhtml.

 1
Author: Arjen Miedema, 2017-04-05 05:17:06

Ошибка устранена путем ввода кода макета в config.xml файл под конечным тегом Глобальный

<adminhtml>
    <layout>
        <updates>
            <jr_createadmincontroller>
                <file>jr_createadmincontroller.xml</file>
            </jr_createadmincontroller>
        </updates>
    </layout>
</adminhtml>

И поместив jr_createadmincontroller.xml файл в

Путь: app/design/adminhtml/default/default/layout/jr_createadmincontroller.xml

enter image description here

 -2
Author: Umer, 2017-04-04 21:06:39