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

How to include multiple action&controller in Zend Framework 2

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

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

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

在此模式下,控制器和第二个动作被绕过。 有没有办法在不绕过视图的情况下包含视图?我希望从第二个动作控制器传递变量,例如 include php statement

您可以为此使用分音符。

在 module.config.php 中的 'view_manager' 键下,您为您的局部定义了一个模板映射:

'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;

如果我没有正确理解你的问题,我认为你所问的是不可能的。

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

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