如何Zend框架2渲染模块内部的谐音?(How does Zend Framework 2 rend

2019-07-29 17:54发布

我有这样的一个模块内我的目录结构:

Api
├── Module.php
├── config
│   └── module.config.php
├── src
│   └── ( ..etc ..)
└── view
    ├── api
    │   └── api
    │       └── index.phtml
    └── partial
            └── test.phtml

然后,我这样做:

<?= $this->partial('partial/test.pthml', array()); ?>

不过,我得到:

05君2012十四时56分58秒] PHP致命错误:未捕获的异常“的Zend \视图\异常\的RuntimeException”与消息“的Zend \视图\渲染\ PhpRenderer ::渲染:无法呈现模板“部分/ test.pthml “; 解析器无法解析到/Users/jeff/web/n/vendor/zendframework/zendframework/library/Zend/View/Renderer/PhpRenderer.php:463文件”

我的谐音应该去哪里?

Answer 1:

这可以通过以下方式实现

 echo $this->partial('layout/header', array('vr' => 'zf2'));

您可以通过访问变量视图中

echo $this->vr;

不要忘记添加以下在module.config.php文件的view_manager线。

'layout/header'           => __DIR__ . '/../view/layout/header.phtml',  

加入后,它看起来像这样

return array(  

'view_manager' => array(
        'template_path_stack' => array(
            'user' => __DIR__ . '/../view' ,
        ),
        'display_not_found_reason' => true,
        'display_exceptions'       => true,
        'doctype'                  => 'HTML5',
        'not_found_template'       => 'error/404',
        'exception_template'       => 'error/index',
        'template_map' => array(
            'layout/layout'           => __DIR__ . '/../view/layout/layout.phtml',

            'layout/header'           => __DIR__ . '/../view/layout/header.phtml',            

            'error/404'               => __DIR__ . '/../view/error/404.phtml',
            'error/index'             => __DIR__ . '/../view/error/index.phtml',
        ),


    ),    

);


Answer 2:

你有没有试过,包括在你的模块的调用视图助手部分()这个名字?

http://packages.zendframework.com/docs/latest/manual/en/zend.view.helpers.html#zend.view.helpers.initial.partial.modules

<?php echo $this->partial('pager.phtml', 'list', $pagerData) ?>


文章来源: How does Zend Framework 2 render partials inside a module?