您好我的自定义zend_form上的File元素有问题。那是代码:
class Core_Form extends Zend_Form
{
protected $_containerId;
public function __construct($options = null) {
parent::__construct($options);
$this->setElementDecorators(array(
'ViewHelper',
array(
'Description',
array(
'tag' => 'div',
'class' => 'submit-button',
'escape' => false
)
),
array(
array(
'data' => 'HtmlTag'
),
array(
'tag' => 'div',
'class' => 'element'
)
),
array(
'Label',
array(
'tag' => 'div',
'escape' => false
)
),
array(
array(
'row' => 'HtmlTag'
),
array(
'tag' => 'div',
'class' => 'element-row'
),
),
'Errors'
));
$this->setDecorators(array(
'FormElements',
array(
'HtmlTag',
array(
'tag' => 'div',
'id' => $this->_containerId
)
),
'Form',
'Errors'
));
}
}
//upload form
class Upload_Form extends Core_Form
{
public function init()
{
/* Form Elements & Other Definitions Here ... */
$this->addElement('file', 'uploadFile', array(
'destination' => APPLICATION_PATH.'/../public/uploads/ads',
'validators' => array(
array('count', false, 1),
array('size', false, 102400),
),
'label' => 'Wyślij plik:'
));
$this->addElement('image', 'submit', array(
'label' => false,
'ignore' => true,
'src' => $this->getView()->baseUrl('images/send.jpg')
));
$this->setEnctype('multipart/form-data');
}
}
我收到此错误: 警告:表单捕获异常:未找到文件装饰器...无法呈现文件元素
当我将元素装饰器中的ViewHelper更改为'File'时出现此错误: 警告:表单捕获异常:方法getMaxFileSize不存在堆栈跟踪:#0 [内部函数]:Zend_Form_Element-> __ call('getMaxFileSize',Array)
提前感谢您的帮助
答案 0 :(得分:2)
你需要为File元素设置一组不同的装饰器,它需要使用'File'
装饰器。
您可以在此处看到一个非常相似的问题:How do I use ViewScripts on Zend_Form File Elements?
希望有所帮助,