Как загрузить макет из модуля администратора в magento - PullRequest
1 голос
/ 27 октября 2011

У меня возникают трудности с настройкой структуры MVC для модуля администратора, который я создаю для Magento. То, что я надеюсь сделать, это правильно настроить design/adminhtml/layout/ppr_extension.xml для управления содержимым страницы. Пока я загружаю phtml и скрипты из IndexController:

$this->loadLayout();
$this->_setActiveMenu('ppr_menu/first_page');
$this->_addContent($this->getLayout()->createBlock('adminhtml/template')->setTemplate('ppr/ppr_1.phtml'));
$loadSimple = $this->getLayout()->getBlock('head')->addJs('ppr/load.simple.js');
$this->_addJs($loadSimple);
$this->renderLayout();

Я хочу загрузить это из config xml, но по какой-то причине я не могу получить эту работу. Я предполагаю, что это как-то связано с моей структурой пакета, но я не могу этого увидеть!

Файл шаблона существует в design / adminhtml / default / MyPackage / ppr_1.phtml

Я попытался добавить это в код / ​​local / MyPackage / PPR / etc / config.xml

<adminhtml>
    <menu> ... </menu>

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

Это расширение xml находится в design / adminhtml / default / default / layout / ppr_extension.xml

Я пробовал здесь много вещей, таких как:

<?xml version="1.0"?>
<layout version="0.1.0">
    <ppr_adminhtml_ppr_index>       
     <reference name="head">
      <action method="addJs"><script>script.js</script></action>
    </reference>

Неважно, что я положил туда, похоже, ничего не происходит. Чего мне не хватает?

Я пытался переместить extension.xml в design / adminhtml / MyPackage / layout, но это тоже не сработало. Спасибо за любую помощь .. у меня болит мозг!

1 Ответ

4 голосов
/ 28 октября 2011

Теперь вам будет проще, если вы используете Commerce Bug.

Первый шаг к устранению проблемы макета - убедиться, что загружается ваш XML-файл макета. Перейдите на вкладку макета в Commerce Bug и нажмите на ссылку Package Layout. Ищите там свой собственный XML. Если вы этого не видите, это означает, что ваш XML не загружается, и вам следует сосредоточиться на получении правильного XML в вашем config.xml и получении вашего файла в нужном месте.

Кроме того, учтите, что не нужно для использования макета xml вообще. Разработчики консоли администратора используют ее для внешней оболочки и для некоторых функций волшебного виджета, но в администраторе есть много вещей, которые просто блокируют добавленные действия контроллера или блоки, добавленные в другие блоки. Нет ничего постыдного в использовании PHP для генерации ваших блочных объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...