У меня есть класс, который расширяет Zend_Form следующим образом (упрощенно):
class Core_Form extends Zend_Form
{
protected static $_elementDecorators = array(
'ViewHelper',
'Errors',
array('Label'),
array('HtmlTag', array('tag' => 'li')),
);
public function loadDefaultDecorators()
{
$this->setElementDecorators(self::$_elementDecorators);
}
}
Затем я использую этот класс для создания всех моих форм:
class ExampleForm extends Core_Form
{
public function init()
{
// Example Field
$example = new Zend_Form_Element_Hidden('example');
$this->addElement($example);
}
}
В одном из моих представлений мне нужно отобразить только это одно поле (без чего-либо еще сгенерированного Zend_Form). Так что, на мой взгляд, у меня есть это:
<?php echo $this->exampleForm->example; ?>
Это прекрасно работает, за исключением того, что генерирует поле следующим образом:
<li><input type="hidden" name="example" value=""></li>
Это очевидно, потому что я установил в декораторы элементов HtmlTag: tag => 'li'.
Мой вопрос: как я могу отключить все декораторы для этого элемента. Мне не нужны декораторы для скрытых элементов ввода.