как применить резервный вариант проектирования только к одному модулю? возможно ли это?


Итак, я создаю пользовательский шаблон сетки с именем grid.phtml (я расскажу, почему я его не переименовал), вот конфигурация:

enter image description here

Когда я сделал это: enter image description here Сначала он не поднял 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');

А затем сделайте это: enter image description here

Поэтому другие модули выполняют поиск в scosche и видят, что grid.phtml там нет, поэтому перейдите в папку по умолчанию, и только для этого она пользовательская сетка.phtml

Я меняю всю концепцию через все резервные варианты дизайна, я просто хотел, чтобы она была конкретно для одного модуля . Я работаю на этапе тестирования, что, если, добавив этот запасной вариант, у scosche были некоторые файлы и они их прочитали?! в каких-то других местах?! так что, похоже, мое решение не настолько эффективно, по крайней мере, я так думаю.

Также я вообще не хочу менять вкладку "Дизайн" конфигурации, я хочу просто настроить свой модуль.

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

Author: Nickool, 2015-08-05

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');
        // ....
    }
    // ....
}

Это должно применить ваш пользовательский шаблон к этому блоку, без необходимости менять всю тему.

 0
Author: Steve Robbins, 2015-08-05 23:58:34