Как включить помощник вида formselect в Zend Framework 2?

Я не использую полную установку ZF2, только модули, которые я указал, в том числе zendframework/zend-form

От выбора формы:

use Zend\Form\Element;

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

echo $this->formSelect($element);

Проблема:

когда в non-view 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 ответ

Решение

Найден обходной путь - должен быть сделан вне файла просмотра (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));
Другие вопросы по тегам