如何在视图中设置 zf2 formTextarea 助手的属性
How to set the attributes of the zf2 formTextarea helper in a view
我正在为 zf2 项目开发一个编辑表单。我有一个数据实体和一个实体字段集。 fieldset中的一个元素定义如下:
$this->add(array(
'name' => 'headlineText',
'type' => 'Zend\Form\Element\Textarea',
'attributes' => array(
'type' => 'text',
),
'options' => array(
'label' => 'text',
),
));
在视图中,元素呈现如下:
$hfs=$form->get('headline-fieldset');
$headlineText = $hfs->get('headlineText');
...
$this->formTextarea($headlineText),
如果我想改变元素的属性,我可以在字段集中这样做:
$this->add(array(
'name' => 'headlineText',
'type' => 'Zend\Form\Element\Textarea',
'attributes' => array(
'type' => 'text',
'rows' => 10, // THIS CHANGES THE NUMBER OF ROWS
),
'options' => array(
'label' => 'text',
),
));
如果我想更改元素的属性,但在视图中进行这些更改,我会假设它会像这样:
$hfs=$form->get('headline-fieldset');
$headlineText = $hfs->get('headlineText');
$headlineText->setAttrib('rows', 15); // TO CHANGE THE NUMBER OF ROWS
...
$this->formTextarea($headlineText),
然而,这个returns:
Fatal error: Call to undefined method Zend\Form\Element\Textarea::setAttrib()
如何设置视图的元素属性?
我觉得错误信息已经很清楚了,ZF2中没有setAttrib
方法。你可能把它误认为是 ZF1 元素包。在 ZF2 中是 setAttribute
method.
示例:
$headlineText->setAttrib('rows', 15); // Wrong
$headlineText->setAttribute('rows', 15); // Correct
我正在为 zf2 项目开发一个编辑表单。我有一个数据实体和一个实体字段集。 fieldset中的一个元素定义如下:
$this->add(array(
'name' => 'headlineText',
'type' => 'Zend\Form\Element\Textarea',
'attributes' => array(
'type' => 'text',
),
'options' => array(
'label' => 'text',
),
));
在视图中,元素呈现如下:
$hfs=$form->get('headline-fieldset');
$headlineText = $hfs->get('headlineText');
...
$this->formTextarea($headlineText),
如果我想改变元素的属性,我可以在字段集中这样做:
$this->add(array(
'name' => 'headlineText',
'type' => 'Zend\Form\Element\Textarea',
'attributes' => array(
'type' => 'text',
'rows' => 10, // THIS CHANGES THE NUMBER OF ROWS
),
'options' => array(
'label' => 'text',
),
));
如果我想更改元素的属性,但在视图中进行这些更改,我会假设它会像这样:
$hfs=$form->get('headline-fieldset');
$headlineText = $hfs->get('headlineText');
$headlineText->setAttrib('rows', 15); // TO CHANGE THE NUMBER OF ROWS
...
$this->formTextarea($headlineText),
然而,这个returns:
Fatal error: Call to undefined method Zend\Form\Element\Textarea::setAttrib()
如何设置视图的元素属性?
我觉得错误信息已经很清楚了,ZF2中没有setAttrib
方法。你可能把它误认为是 ZF1 元素包。在 ZF2 中是 setAttribute
method.
示例:
$headlineText->setAttrib('rows', 15); // Wrong
$headlineText->setAttribute('rows', 15); // Correct