在控制器中添加表单元素的选项

时间:2013-01-04 12:33:21

标签: php annotations zend-form zend-framework2 zend-form-element

this post相关我希望将表单元素的手动添加转换为Annotations中的Entity

代码如下所示:

$this->add(array(
    'name'       => 'formElementName',
    'type'       => 'DoctrineModule\Form\Element\ObjectSelect',
    'attributes' => array(
        'required' => true
    ),
    'options'    => array(
        'label'           => 'formElementLabel',
        'empty_option'    => '--- choose formElementName ---',
        'object_manager'  => $this->getEntityManager(),
        'target_class'    => 'Mynamespace\Entity\Entityname',
        'property'        => 'nameOfEntityPropertyAsSelect'
    )
));

作为注释,我遇到的问题是object_manager是一个我无法传递给注释的变量。每个其他属性都没有问题,并且在注释时应该有效。

我正在寻找正确的方法:

$form->get('formElementName').setOptions(array('object_manager'=>$entityManager)

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你必须尝试这样才能正常工作。

<!-- language-all: lang-html -->
foreach($cityArr as $city){

  $city_ar[$city['id']] = $city['city'];

}

$form->user_city->setMultiOptions($city_ar);

$form->user_city->setValue($val["user_city"]);