我必须从 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/