安装' EdpModuleLayouts'到zendframework 2

时间:2014-03-21 14:44:02

标签: layout zend-framework2

我正在尝试安装' EdpModuleLayouts'

我已按照模块here:

的说明进行操作

我也关注了问题here:

我。 Ë;我将以下代码放在application.config.php?

return array(
    'modules' => array(
        ... ,
        'EdpModuleLayouts'
   )
);
然后我将以下代码放在我的模块配置

'view_manager' => array(
        'template_path_stack' => array(
            'workers' => __DIR__ . '/../view',
            'Workers/layout' => __DIR__ . '/../view/layout/layout.phtml'
        ),
    ),
    'module_layouts' => array(
    'Workers' => 'Workers/layout'
),

我收到了以下错误报告:

  

致命错误:未捕获的异常' Zend \ View \ Exception \ RuntimeException'   with message' Zend \ View \ Renderer \ PhpRenderer :: render:无法渲染   模板"工人/布局&#34 ;;解析器无法解析为文件'在   zendframework \ zendframework \库\ Zend的\查看\渲染器\ PhpRenderer.php   在第499行

1 个答案:

答案 0 :(得分:1)

错误消息非常具体。

Unable to render template "Workers/layout"

这意味着view_manager配置中没有定义 Workers / layout 模板。这里的诀窍是你把配置放在错误的位置时犯了一个简单的错误。

template_path_stack 用于提供有关某些文件夹view_manager信息,其中模板文件按其文件路径进行映射。

template_map 用于提供有关哪个文件涵盖特定模板的view_manager信息。

检查module.config.php of the ZendSkeletonApplication时,很容易看出两者的区别。考虑到这一点,您所要做的就是更改配置。

另一个提示:不要使用CamelCase配置键,保持它们小写;)

'view_manager' => array(
    'template_path_stack' => array(
        'workers' => __DIR__ . '/../view',
    ),
    'template_map' => array(
        // consider to make this lowercase "workers/layout"
        'Workers/layout' => __DIR__ . '/../view/layout/layout.phtml'
    )
),
'module_layouts' => array(
    'Workers' => 'Workers/layout'
),