Zend Framework 2 - TemplatePathStack для нескольких объектов в модуле

73
11

Некоторое время назад я следил за tutorial и включал TemplatePathStack как описано здесь.

В учебнике предлагается для каталога вида структура, такая как view/album/album в котором лежат все файлы phtml.

Интересно, в чем причина альбома/альбома... И что, если мой модуль называется MasterData и он включает в себя добавление/редактирование/удаление... для Entity1 и Entity2.

Как система знает, какой add.phtml использовать?

спросил(а) 2012-12-27T11:20:00+04:00 7 лет, 2 месяца назад
1
Решение
49

Мне интересно, не путаете ли вы сущности с контроллерами. Убедитесь, что вы следуете правилам структуры каталогов модулей, которые суммируются (включая только то, что имеет отношение к вашему вопросу) следующим образом:

/module
|--/MasterData
|----/src
|--------/Controller
|-----------/Entity1Controller
|-----------/Entity2Controller
|--------/Model
|-----------/Entity1
|-----------/Entity2
|----/view
|------/master-data
|--------/entity1
|-----------/action1.phtml
|-----------/action2.phtml
|--------/entity2
|-----------/action1.phtml
|-----------/action2.phtml
...

Для стека пути шаблона и в соответствии с предыдущей структурой конфигурация просто:

'view_manager' => array(
'template_path_stack' => array(
__DIR__ . '/../view',
),
),

Помните, что в папке просмотра стандартное соглашение:

    entity1 сопоставляется с вашим Entity1Controller (если ваш контроллер camelCased, например: MyFooController, соответствующее имя папки будет my-foo) action1.phtml сопоставляется с методом action1Action вашего класса Entity1Controller (то же замечание, что и выше, если ваше имя действия вертелось на камне).

ответил(а) 2012-12-27T13:33:00+04:00 7 лет, 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема