У меня есть следующие декораторы по умолчанию в Zend_Config_Ini для настройки моей формы:
elementDecorators.viewHelper.decorator = "ViewHelper"
elementDecorators.label.decorator = "Label"
elementDecorators.errors.decorator = "Errors"
elementDecorators.htmlTag.decorator = "HtmlTag"
elementDecorators.htmlTag.options.tag = "li"
У меня есть следующее определение элемента также в Zend_Config_Ini:
elements.username.type = "text"
elements.username.options.label = "Username:"
elements.username.options.required = true
и получается следующий вывод:
<li>
<label for="username" class="required">Username:</label>
<input type="text" name="username" id="username" value="" />
</li>
Теперь мне нужно знать, как мне (желательно через файл конфигурации ini) установить идентификатор или класс тега LI? Я хотел бы следующий вывод:
<li id="form-username-element"> ... </li>
или
<li class="form-2col"> ... </li>
Обновление:
Я смог получить его, переопределив все декораторы в самом конфиге элемента следующим образом:
elements.username.options.decorators.viewHelper.decorator = "ViewHelper"
elements.username.options.decorators.label.decorator = "Label"
elements.username.options.decorators.errors.decorator = "Errors"
elements.username.options.decorators.htmlTag.decorator = "HtmlTag"
elements.username.options.decorators.htmlTag.options.tag = "li"
elements.username.options.decorators.htmlTag.options.class = "username-row-element"
Так что это сработает, однако создаст много дубликатов, так как это должно было бы быть на каждом элементе (с единственным изменением последней строки, которое было бы самой установкой класса). Так что мне сейчас интересно, есть ли из файла ini способ просто переопределить имя класса с помощью декораторов по умолчанию (вместо того, чтобы дублировать все декораторы для каждого элемента)?