Использование декораторов с файловым элементом
У меня проблемы с использованием декораторов в сочетании с $logo=$this->createElement('file', 'logo')
У меня есть форма в табличном стиле, все работало довольно хорошо, пока я не хотел добавить элемент файла. Вот связанная часть моего кода (класс формы):
$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'
));
Появилось следующее сообщение об ошибке: Предупреждение: исключение обнаружено формой: не найден декоратор файла... невозможно отобразить элемент файла Stack Trace
Какое может быть решение?
1 ответ
Решение
Элемент 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'
)
);