usja
@usja

Zend Form и добавление в форму своих div

С помощью Zend_Form создается форма.
В вью ей можно вывести одной строчкой
<?php echo $this->myform;?>
Но возникла ситуация, когда помимо стандартных элементов в форму нужно вставить несколько дивок.
Каким образом, можно правильно добавлять любые html элементы в форму?
Есть вариант выводить в вью поэлементно с помощью renderViewHelper() и в нужном месте вставить свою дивку, но по-моему это не есть хорошо.
  • Вопрос задан
  • 4110 просмотров
Решения вопроса 1
zizop
@zizop
Сам как-то сталкивался с подобной проблемой. В резульаттенаписал Zend_Form_Decorator_HtmlTag. Вот статья того времени: Произвольный html-код в Zend_Form
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
patashnik
@patashnik
А что будет внутри div? Пробовали использовать декораторы для элементов?
Ответ написан
@OldFornit
function loadDefaultDecorators() {
parent::loadDefaultDecorators();
$this->setElementDecorators(array(
'ViewHelper',
'Description',
'Errors',
array('HtmlTag', array('tag' => 'p')),
array('Label', array('tag' => 'p')),
array(array('row' => 'HtmlTag'), array('tag' => 'div'))
));

foreach ($this->getElements() as $element) {
if ('Zend_Form_Element_Submit' == $element->getType()) {
$element->setDecorators(array(
'ViewHelper',
'Description',
'Errors',
array(array('row' => 'HtmlTag'), array('tag' => 'div'))
));
}
if ('Zend_Form_Element_Hidden' == $element->getType()) {
$element->setDecorators(array(
'ViewHelper',
));
}
}
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы