frg*_*v10 6 zend-framework zend-form zend-file
我有问题,以下Zend表格抛出错误.问题是"文件" - 元素和使用setElementDecorators.
class Products_AddForm extends Zend_Form
{
function init() {
// other form elements...
$uploadElement = new Zend_Form_Element_File('Excel');
$uploadElement->setLabel('Excel');
$this->addElement($uploadElement);
$this->setElementDecorators(array(
'ViewHelper',
'Errors',
array(array('data' => 'HtmlTag'), array('tag' => 'td')),
array('Label', array('tag' => 'th')),
array(array('row' => 'HtmlTag'), array('tag' => 'tr'))
));
}
}
Run Code Online (Sandbox Code Playgroud)
这会引发错误.
(Warning: Exception caught by form: No file decorator found... unable to render file element Stack Trace: #0 )
Run Code Online (Sandbox Code Playgroud)
$uploadElement->addDecorator('File');在最后添加SetElementDecorators将工作,但这将给我文件元素两次!
请帮忙吗?
TIA Matt
Ric*_*ing 10
File元素需要它自己的装饰器--Zend_Form_Decorator_File.
$this->setElementDecorators(array(
'File',
'Errors',
array(array('data' => 'HtmlTag'), array('tag' => 'td')),
array('Label', array('tag' => 'th')),
array(array('row' => 'HtmlTag'), array('tag' => 'tr'))
));
Run Code Online (Sandbox Code Playgroud)
[编辑]
刚刚注意到您还在使用其他表单元素.
在原始代码之后,添加:
$this->getElement('Excel')->setDecorators(
array(
'File',
'Errors',
array(array('data' => 'HtmlTag'), array('tag' => 'td')),
array('Label', array('tag' => 'th')),
array(array('row' => 'HtmlTag'), array('tag' => 'tr'))
)
);
Run Code Online (Sandbox Code Playgroud)
这样,ViewHelper将添加到所有其他元素,而对于File元素File则使用.
| 归档时间: |
|
| 查看次数: |
6015 次 |
| 最近记录: |