Zend framework2 getView()在zend framework 2自定义表单视图帮助程序中返回NULL
尝试从视图辅助对象获取视图对象,以便可以渲染某个局部视图。但我得到的是空的 这是密码 名称空间App\Form\View\HelperZend framework2 getView()在zend framework 2自定义表单视图帮助程序中返回NULL,zend-framework2,zend-view,view-helpers,Zend Framework2,Zend View,View Helpers,尝试从视图辅助对象获取视图对象,以便可以渲染某个局部视图。但我得到的是空的 这是密码 名称空间App\Form\View\Helper use Zend\Form\View\Helper\AbstractHelper; use Zend\Form\View\Helper\FormInput; use Zend\Form\ElementInterface; class FormDate2 extends AbstractHelper { protected $script = 'eleme
use Zend\Form\View\Helper\AbstractHelper;
use Zend\Form\View\Helper\FormInput;
use Zend\Form\ElementInterface;
class FormDate2 extends AbstractHelper
{
protected $script = 'element-decorators/date-picker';
public function render(ElementInterface $element, $formType = null, array $displayOptions = array())
{
echo '<pre>';var_dump($this->getView());echo '</pre>';die();
}
}
使用Zend\Form\View\Helper\AbstractHelper;
使用Zend\Form\View\Helper\FormInput;
使用Zend\Form\ElementInterface;
类FormDate2扩展了AbstractHelper
{
受保护的$script='element decorators/date picker';
公共函数呈现(ElementInterface$element,$formType=null,数组$displayOptions=array())
{
echo'';var_dump($this->getView());echo'';die();
public function __construct()
{
if($this->getView() == NULL){
$di = new Di();
$view = $di->get('Zend\View\Renderer\PhpRenderer');
$this->setView($view);
}
}
}
}
找到了一个解决方案,不确定它是否是最好的,如果有人得到了更好的解决方案,请在上面发布
接下来,从Di检索视图渲染器
如何测试帮助程序以确定视图对象为空?使用该帮助程序的自定义元素流程如下,FormRow帮助程序呈现元素视图部分,并通过元素的帮助程序(即上面发布的帮助程序)获取元素html