Zend Framework 2'Twig'视图将变量传递给部分

时间:2014-10-25 03:23:23

标签: php zend-framework2 twig partial

我正在转换ZF2" filename.phtml"查看" filename.twig"视图。我需要帮助知道如何将变量传递给部分。部分性质提供了各种各样的社交网络"共享类型按钮。我给出的部分内容是被访问的网页的网址"分享"。

我想要转换的代码:

echo $this->partial('partial/socialnetworkshare', array('web_page' => $this->url('main-prayersfortoday', array('prayer_reference' => $this->prayer_reference ))));

我还没有正确地弄清楚如何传递" $ this-> pray_reference"的价值。这就是我的尝试:

{{ partial('partial/socialnetworkshare', {'web_page' : url('main-prayersfortoday') , 'prayer_reference' : prayer_reference }) }}

pray_ministry是为了匹配这条路线:

'main-prayersfortoday'     => array(
    'type'    => 'segment',
    'options' => array(
        'route'       => '/prayers-for-today[/:prayer_reference]',
        'constraints' => array(
            'prayer_reference' => '[0-9]*'
        ),
        'defaults'    => array(
            'controller' => 'Main\Controller\Main',
            'action'     => 'prayersfortoday'
        )
    )
),

" pray_ministry"正在通过这个控制器:

$viewModel
    ->setTemplate('main/main/prayersfortodaydocument')
    ->setVariable('prayer_reference', $this->params()->fromRoute('prayer_reference'))
    ->setVariable('document', $document);

非常感谢你的帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

我认为您之后使用include标记即可:

{% include 'partial/socialnetworkshare' with {
  'web_page': path('main-prayersfortoday'),
  'prayer_reference': prayer_reference
} %}

在Symfony中,我们有Twig扩展,它们在Zend中提供类似于path()的Twig $this->url()函数。您可能需要注册自己的Twig扩展以在Zend中提供此功能。