如何在Zend Framework 2中包含多个动作和控制器

时间:2015-03-10 15:43:42

标签: php zend-framework2 zend-view

我想在ZF2的视图中包含多个视图。 我看了这个链接: http://framework.zend.com/manual/current/en/modules/zend.view.quick-start.html

但是有问题。这样,我必须传递视图中的值,如下所示:

$secondView = new ViewModel (array('var1' => $var1 ......));

在此模式下,绕过控制器和第二个动作。 有没有办法在不绕过它们的情况下包含视图?我想从第二个动作控制器传递变量,比如包含php语句

2 个答案:

答案 0 :(得分:1)

您可以使用偏见。

在'view_manager'键下的module.config.php中,为你的部分定义模板地图:

'view_manager' => array(
    'template_map' => array(
        'myPartial'   => __DIR__ . '/../view/mymodule/partial/myPartial.phtml',
    ),
    'template_path_stack' => array(
        __DIR__ . '/../view',
    ),
),

然后在视图容器中,您可以使用partial()View Helper:

来使用该部分
<div><?php echo $this->partial('myPartial', array('var1' => 'value1'); ?></div>

您也可以将变量传递给部分变量。这些变量在您的部分中被引用,就像任何其他视图变量一样:

echo $var1;

答案 1 :(得分:1)

如果我理解你的问题,我认为你提出的问题是不可能的。

我的建议是将第二个视图所需的数据检索移到远离控制器的其他位置,并从第二个控制器调用它并形成第一个控制器以将它们传递给第二个视图。

如果您真的想继续使用您的方法,我看到的唯一可能是使用javascript和ajax调用来检索视图中所需的部分

相关问题