0

不久前,我关注tutorial并包含了此处TemplatePathStack描述的内容。

本教程建议视图目录的结构类似于view/album/album所有 phtml 文件所在的结构。

我想知道专辑/专辑的原因是什么...如果我的模块被命名MasterData并且它包含添加/编辑/删除... for Entity1and怎么办Entity2

框架如何知道要使用哪个 add.phtml?

4

1 回答 1

1

我想知道您是否没有将实体与控制器混淆。确保您遵循以下总结的模块目录结构约定(仅包括与您的问题相关的内容):

/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 (如果您的控制器是驼峰式,例如:MyFooController,相应的文件夹名称将是my-foo
  • action1.phtml 映射到action1Action您的Entity1Controller类的方法(如果您的操作名称是驼峰式,则与上述相同)。
于 2012-12-27T10:33:34.087 回答