php - 如何向 zfc-twig 1.2 注册 ZF2 Helpers?

标签 php zend-framework2 twig

我必须从 1.2 降级到 1.1.5 才能让我的 View 助手再次工作。

在 1.2 下,它们只是返回空白;甚至无法判断他们是否被击中。需要一个神奇的步骤才能完成这项工作吗?

编辑

我在 1.2 中遇到困难的一个帮助器示例是一个导航帮助器,它在 Module.php 中具有此配置:

public function getViewHelperConfig()
{
    return array(
        'factories' => array(
            'navigation' => function ($sm) {
                $helper = new View\Helper\Navigation($sm->getServiceLocator()->get('config'), null);
                return $helper;
            }
        )
    );
}

我尝试添加以下两个配置中的任何一个,但没有成功:

/**
 * Twig
 */
'zfctwig' => array(

    'disable_zf_model' => false,

    'helper_manager' => array(
        'configs' => array(
            'Application\View\Helper\Navigation' => function( $sm ){
                $helper = new View\Helper\Navigation($sm->getServiceLocator()->get('config'), null);
                return $helper;
             },
        ),
    ),

),

...或者...

/**
 * Twig
 */
'zfctwig' => array(

    'disable_zf_model' => false,

    'helper_manager' => array(
        'configs' => array(
            'Application\View\Helper\Navigation' => function( $sm ){
                $helper = new View\Helper\Navigation($sm->getServiceLocator()->get('config'), null);
                return $helper;
             },
        ),
    ),

),

似乎都不起作用。我试图通过我的layout.twig中的这一行调用这个助手:

{{ navigation() }}

ZFCTwig版本d8450076d5297de21dffc568870f6e605ead41e9

最佳答案

由于一些不兼容问题,ZfcTwig 1.2 不再从 Zend\View\HelperPluginManager 获取 View 助手。可以看更好的解释here .

现在 ZfcTwig 使用自己的 HelperPluginManager,因此您需要在 ZfcTwig\View\HelperPluginManager 配置中注册 View 助手,如下所示:

return array(
    'zfctwig' => array(
       'helper_manager' => array(
            'invokables' => array(
                'MyHelper' => 'MyApp\View\Helper\MyHelper',
            ),
        ),
    ),
);

关于php - 如何向 zfc-twig 1.2 注册 ZF2 Helpers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21435146/

相关文章:

php - Symfony2- Twig : HTML <optgroup> Tag

php - 大数据缓存

php - Predis 使用 PHP : How to get which Redis node ( host ) that holds a particular key?

php - 是否可以将 Doctrine2 批处理与 Twig 的 for 标签无缝使用?

debugging - ZF2 - 如何启用Twig的调试/转储功能

php - 如何在 zend framework php 中使用异常处理?

php - 具有多个选项的 Twig json_encode

php - 如何在表格的所有列中进行搜索?

php - Facebook API 响应非常慢 (oAuth)

zend-framework2 - Zend Framework 2 - Cookie 概念