как применить резервный вариант проектирования только к одному модулю? возможно ли это?
Итак, я создаю пользовательский шаблон сетки с именем grid.phtml (я расскажу, почему я его не переименовал), вот конфигурация:
Когда я сделал это: Сначала он не поднял scosche, он снова переходит к умолчанию/по умолчанию Я решил это, я добавил этот код в свой config.xml модуль:
<stores>
<admin>
<design>
<package>
<name>default</name>
</package>
<theme>
<default>scosche</default>
</theme>
</design>
</admin>
</stores>
Теперь все работает нормально, сначала он выполнит поиск в папке scosche и захватит файл grid.phtml, и если его там нет, он будет считывание из значения по умолчанию
Дело в том, что grid.phtml во всех других модулях (например, в сетке управления продуктами) теперь будет считываться из папки scosche, хотя я просто хотел специально прочитать отсюда для этого конкретного модуля, чтобы решить, я могу перейти к своему модулю Grid.php и переименуйте сетку и сделайте это:
$this->setTemplate('widget/customgrid.phtml');
Поэтому другие модули выполняют поиск в scosche и видят, что grid.phtml там нет, поэтому перейдите в папку по умолчанию, и только для этого она пользовательская сетка.phtml
Я меняю всю концепцию через все резервные варианты дизайна, я просто хотел, чтобы она была конкретно для одного модуля . Я работаю на этапе тестирования, что, если, добавив этот запасной вариант, у scosche были некоторые файлы и они их прочитали?! в каких-то других местах?! так что, похоже, мое решение не настолько эффективно, по крайней мере, я так думаю.
Также я вообще не хочу менять вкладку "Дизайн" конфигурации, я хочу просто настроить свой модуль.
Мне любопытно, есть ли способ, которым я могу использовать дизайн только в своем модуле, а не во всем.
1 answers
Во-первых, настройки package/theme
на вашем первом изображении не применяются к теме adminhtml
.
Во-вторых, создайте свой grid.phtml
в default/default
пакете/теме. Например, если имя вашего модуля Company_Scosche
Я бы поместил шаблон в app/design/adminhtml/default/default/template/company/scosche/widget/grid.phtml
Затем в блоке сетки администратора установите этот новый шаблон
class Company_Scosche_Block_Adminhtml_Scosche_Grid
extends Mage_Adminhtml_Block_Widget_Grid
{
/**
* Initialize grid
*/
public function __construct()
{
parent::__construct();
$this->setTemplate('company/scosche/widget/grid.phtml');
// ....
}
// ....
}
Это должно применить ваш пользовательский шаблон к этому блоку, без необходимости менять всю тему.