对文件元素使用装饰器
using decorators with file element
我无法将装饰器与 $logo=$this->createElement('file', 'logo')
结合使用
我有一个 table 样式的表单,在我想添加一个文件元素之前,一切都运行良好。这是我的代码的相关部分(形式 class):
$logo=$this->createElement('file', 'logo')
->setLabel('logo:')
->setDestination(APPLICATION_PATH . "/../public/images/logos")
->addValidator('Count', false, 1)
->addValidator('Size', false, 1024000)
->addValidator('Extension', false, 'jpg,png,gif,jpeg');
$logo->setDecorators(array(
'ViewHelper',
'Description',
'Errors', array(array('data'=>'HtmlTag'), array('tag' => 'td',
'colspan'=>'2','align'=>'center')),
array(array('row'=>'HtmlTag'),array('tag'=>'tr')) //, 'closeOnly'=>'true'
));
我收到如下错误消息:警告:异常被表单捕获:未找到文件装饰器...无法呈现文件元素堆栈跟踪
哪个可能是解决方案?
File 元素需要它自己的装饰器 - Zend_Form_Decorator_File。
将 ViewHelper
更改为 File
:
$logo->setDecorators(
array(
'File',
'Description',
'Errors', array(array('data'=>'HtmlTag'), array('tag' => 'td',
'colspan'=>'2','align'=>'center')),
array(array('row'=>'HtmlTag'),array('tag'=>'tr')) //, 'closeOnly'=>'true'
)
);
我无法将装饰器与 $logo=$this->createElement('file', 'logo')
我有一个 table 样式的表单,在我想添加一个文件元素之前,一切都运行良好。这是我的代码的相关部分(形式 class):
$logo=$this->createElement('file', 'logo')
->setLabel('logo:')
->setDestination(APPLICATION_PATH . "/../public/images/logos")
->addValidator('Count', false, 1)
->addValidator('Size', false, 1024000)
->addValidator('Extension', false, 'jpg,png,gif,jpeg');
$logo->setDecorators(array(
'ViewHelper',
'Description',
'Errors', array(array('data'=>'HtmlTag'), array('tag' => 'td',
'colspan'=>'2','align'=>'center')),
array(array('row'=>'HtmlTag'),array('tag'=>'tr')) //, 'closeOnly'=>'true'
));
我收到如下错误消息:警告:异常被表单捕获:未找到文件装饰器...无法呈现文件元素堆栈跟踪
哪个可能是解决方案?
File 元素需要它自己的装饰器 - Zend_Form_Decorator_File。
将 ViewHelper
更改为 File
:
$logo->setDecorators(
array(
'File',
'Description',
'Errors', array(array('data'=>'HtmlTag'), array('tag' => 'td',
'colspan'=>'2','align'=>'center')),
array(array('row'=>'HtmlTag'),array('tag'=>'tr')) //, 'closeOnly'=>'true'
)
);