如何在Zend Framework 2中启用formselect视图助手?

时间:2015-09-29 16:04:26

标签: php zend-framework2 zend-form-element zend-form2 zend-form-select

我没有使用完整的ZF2安装,只使用了我指定的模块,包括zendframework/zend-form

来自formselect

use Zend\Form\Element;

$element = new Element\Select('language');
$element->setValueOptions(array(
   '0' => 'French',
    //...
   '3' => 'Chinese'
));

echo $this->formSelect($element);

问题:

在非视图PHP中:

PHP error: Call to undefined method formSelect()

在* .phtml视图文件中:

Uncaught exception 'Zend\ServiceManager\Exception\ServiceNotFoundException'
with message 'Zend\View\HelperPluginManager::get was unable to fetch 
or create an instance for formselect'

注意:

$this->partial()$this->escapehtml()一样有效,但$this->formselect()不会

1 个答案:

答案 0 :(得分:1)

找到一个解决方法 - 必须在view(phtml)文件之外完成:

use Zend\Form\View\Helper\FormSelect;

$form = new FormSelect();
$selectHtml = $form->render($element);

//then
echo $selectHtml;

//or from view:
$this->partial($file, array('select' => $selectHtml));