Подмена шаблона в админке...

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Shabol
  • Группа: Пользователь
  • Сообщений: 11
  • Регистрация: 27.05.2011

27.05.2011 00:11

Встала такая задача:
Требуется сделать отдельный модуль (т.е. не затрагивая ядро Magento).
На определенном этапе уперся в надобность подмены шаблона:
\app\design\adminhtml\default\default\template\catalog\category\tree.phtml
Это дерево в админке при редактировании категорий.

Как в моем модуле безболезненно подменить этот шаблон своим?

И в догонку - как для админки (опять же в отдельном модуле) подключить css и js файлы?

Заранее благодарен за помощь...

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8886
  • Регистрация: 20.02.2010

27.05.2011 00:40

Mage_Core_Block_Template::setTemplate()

А вот вдогонку - не надо.

#3 Shabol
  • Группа: Пользователь
  • Сообщений: 11
  • Регистрация: 27.05.2011

27.05.2011 10:04

В том-то и дело что так пробовал:
Переопределяю в своем модуле класс - Mage_Adminhtml_Block_Catalog_Category_Tree
И конструктор:

public function __construct()
    {
        parent::__construct();
        $this->setTemplate('catalog/category/advtree.phtml'); //Не работает
        Mage_Core_Block_Template::setTemplate('catalog/category/advtree.phtml'); //Тоже не работает - хотя $this->getTemplate() возвращает advtree.
        $this->setUseAjax(true);
        $this->_withProductCount = true;
    }


Все равно упорно используется стандартный tree.phtml

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8886
  • Регистрация: 20.02.2010

13.08.2011 11:20

В данном ситуации вам нужно либо переопределить метод getTemplate, либо добавить собственное макетное правила с вызовом метода setTemplate.
Ваш код не работает, потому что вы устанавливаете шаблон прямо в констукторе, а потом система перетирает ваши изменения, устанавливая стандартный шаблон, используя стандартные макетные правила.

Поделиться темой: