В настоящее время я пытаюсь создать простой пользовательский слой, который буду расширять вместо Zend_Form. Например, My_Form.
Я хочу, чтобы все мои формы выглядели одинаково, поэтому я устанавливаю это в My_Form. Вот что это до сих пор.
class My_Form extends Zend_Form
{
protected $_elementDecorators = array(
'ViewHelper',
'Errors',
array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'value_cell')),
array('Label', array('tag' => 'td')),
array(array('row' => 'HtmlTag'), array('tag' => 'tr')),
);
}
И все мои формы будут расширять это. Теперь это работает, проблема связана с массивом $ _elementDecorators. Я оборачиваю метку в «td», а декоратор метки применяет «id» по умолчанию к этому «td», но я также хочу добавить класс к этому «td».
Есть ли способ сделать это с помощью этого массива? Если нет, есть ли лучший способ сделать это? Или, если да, может ли кто-нибудь описать мне, как работает этот массив?
Желаемый результат:
<tr>
<td class='label_cell'>
<label />
</td>
<td class='value_cell'>
<input />
</td>
</tr>
Спасибо.