Zend_Form_Element_Select默认值

时间:2012-07-19 23:41:24

标签: php zend-framework

在我的表单中,我想为select元素设置所选(默认)值。但是,使用setDefaults对我不起作用。

这是我的代码:

$gender = new Zend_Form_Element_Select('sltGender');
$gender->setMultiOptions(array(
    -1 => 'Gender',
    0 => 'Female',
    1 => 'Male'
))
->addValidator(new Zend_Validate_Int(), false)
->addValidator(new Zend_Validate_GreaterThan(-1), false);

$this->setDefaults(array(
    'sltGender' => 0
));

$this->addElement($gender);

我的控制器只是将表单分配给只显示表单的视图变量。

它使用$gender->setValue(0)工作,但使用默认值数组一次设置它们会更容易。我在这里误解了什么吗?

此外,类和方法的Zend Framework文档在哪里?我正在寻找类似于Java documentation的东西。我能找到的最好的是this one,但我不喜欢它 - 特别是因为每次我尝试搜索时都会崩溃。

1 个答案:

答案 0 :(得分:3)

你试过了吗?

$this->addElement($gender);

$this->setDefaults(array(
    'sltGender' => 0
));

另外,请查看http://framework.zend.com/issues/browse/ZF-12021

如您所见,上述问题与您所描述的问题类似。 Zend似乎非常特别关于您创建对象和分配设置的顺序。

我担心你将不得不按照Zend要求你做的那样做(事情似乎没有很好的记录,但只是通过试验和错误发现),或者破解他们的图书馆制作它做你想做的事。