Как удалить элементы dd и dt html при рендеринге элемента Form в ZF?

Я представляю на мой взгляд Zend_Form_Element_Select.

$t=new Zend_Form_Element_Select(....);
...
...
echo $t->render();

Я получаю выпадающее меню и параметры правильно, но я также получаю элемент select, заключенный в

<dt> </dt>
<dd>[elm]</dd>

Как удалить этот декоратор?

Ответ 1

у вас есть больше возможностей: Соответствующее руководство:

http://framework.zend.com/manual/en/zend.form.elements.html#zend.form.elements.decorators

второй - удалить декораторы, которые вам не нужны.

$t->removeDecorator('Errors');
$t->removeDecorator('HtmlTag');
$t->removeDecorator('Label');

третий (возможно, лучший для вас) - это установить только нужные вам декораторы. Следующий код будет устанавливать только декоратор-помощник вида, поэтому не будет метки, сообщения об ошибке и никаких тэгов html

$t->setDecorators(array(
    array('ViewHelper'),
));

очень хорошая статья о декораторах здесь:

http://devzone.zend.com/article/3450

Ответ 2

Это сделало это для меня:

$el->setDecorators(array( 'ViewHelper', 'Errors', 'Label'
));