フォームの1つに選択ボックスを追加しようとしています(input type = "text"要素を使用するだけでかなりうまく機能します)が、取得するのは、タグが含まれていない空の選択ボックスだけです。だからこれは私が使用するコードです:
Bla.php :: Bla-> getInputFilter()
$inputFilter->add($factory->createInput(array(
'type' => 'Zend\InputFilter\Select',
'name' => 'payment_type',
'required' => true,
'filters' => array(
array('name' => 'Int'),
),
)));
BlaForm.php :: BlaForm-> __ Construct():
$this->add(array(
'type' => 'Zend\Form\Element\Select',
'name' => 'payment_type',
'options' => array(
'label' => 'Payment',
'value_options' => array(
0 => 'Nur Überweisung',
1 => 'Nur Paypal',
2 => 'Nur Barzahlung im Voraus',
),
),
'attributes' => array(
'value' => 0 //set selected to "Nur Überweisung"
)
));
bla.php(表示)
<div class="control-group">
<?php
echo $this->formLabel($form->get('payment_type')->setLabelAttributes(array(
'class' => 'control-label'
)));
?>
<div class="controls">
<?=$this->formElement($form->get('payment_type'));?>
<span class="help-inline"><?=$this->formElementErrors($form->get('payment_type'));?></span>
</div>
</div>
「value_options」の代わりに「options」を使用してみましたが、昨日は「value_options」のエイリアスにすぎないことを知りました。また、ビューでformElement()の代わりにformSelect()を試しましたが、それでも何も変わりません。テスト目的で文字列からumlautsを削除しました...
誰かが同じ問題を経験したか、何か考えを持っていましたか、私が現在間違っていることは何ですか?