首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ZF2 -动态ViewHelper

ZF2 -动态ViewHelper
EN

Stack Overflow用户
提问于 2015-09-10 17:38:39
回答 1查看 68关注 0票数 0

我想创建一个视图助手,它应该像这样返回一些HTML:

代码语言:javascript
复制
<div class="panel panel-default">
    <div class="panel-body">
        :: Here is my content ::
    </div>
</div>

我们的计划是这样调用它,其中参数应该是我的config中的一个键,它定义了一个视图助手类来生成我的面板的内容:

代码语言:javascript
复制
<?php 
    echo $this->panel('test');

    $config = [
        'view_helpers' => [
            'factories' => [
                'Panel' => 'Application\View\Helper\Factory\PanelFactory',
                'Test' => 'Application\View\Helper\Factory\TestFactory'
            ]
        ],
        'panels' => [
            'test' => 'Test'
        ]
    ];
?>

因此,我可以将自定义视图帮助器的每个内容加载到面板中,但我必须在面板视图帮助器中注入视图帮助器管理器,以便从我的配置中加载所需的视图帮助器。这是正确的吗?还是有更好的解决方案?

EN

回答 1

Stack Overflow用户

发布于 2015-09-10 20:04:53

也许你应该看看ZF2 partials。如果我没记错的话,部分视图帮助器似乎正在做你想做的事情。

您可以定义模板(panel.phtml):

代码语言:javascript
复制
<div class="panel panel-default">
    <div class="panel-body">
        <?php echo $this->content ?>
    </div>
</div>

在要输出面板部分的视图中:

代码语言:javascript
复制
$this->partial('panel.phtml', array(
    'content' => 'Whatever content you prefer (can also be another partial)'
);

您可以像在视图帮助器配置中注册模板映射中的任何其他视图一样注册您的部分参数:

代码语言:javascript
复制
'view_manager' => array(
    'template_map' => array(
        'layout/layout'         => __DIR__ . '/../view/layout/layout.phtml',
        'header'                => __DIR__ . '/../view/layout/header.phtml',
        'footer'                => __DIR__ . '/../view/layout/footer.phtml',
        'error/404'             => __DIR__ . '/../view/error/404.phtml',
        'error/index'           => __DIR__ . '/../view/error/index.phtml',
        'panel'                 => __DIR__ . '/../view/partial/panel.phtml',
        'test'                  => __DIR__ . '/../view/partial/test.phtml',
    )
)

对于您想要实现的目标,这似乎是一个简单的解决方案。

或者你还有其他要求吗?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32498264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档