#zend-framework #zend-form
#zend-фреймворк #zend-form
Вопрос:
Я так старался, но мне не удалось создать для моей формы формат декоратора, подобный приведенному ниже:
<form>
<div class="form_wrapper">
<div class="form_label">
<!-- {{label}} -->
</div>
<div class="form_element">
<!-- {{element}} -->
</div>
</div> <!-- end .form_wrapper -->
<div class="form_wrapper">
<div class="form_label">
<!-- {{label}} -->
</div>
<div class="form_element">
<!-- {{element}} -->
</div>
</div> <!-- end .form_wrapper -->
</form>
И когда я пытаюсь установить класс form_label
для моего decorator
:
array('Label', array('tag' => 'div', 'class' => 'form_label'))
Так всегда бывает:
<div>
<label class="form_label">Title</label>
</div>
Мне нужно переместить form_label
класс внутри label
тега в родительский элемент: его div
тег?
Как я могу это сделать?
Ответ №1:
Попробуйте это для вашего декоратора:
array(array('data' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form_element')),
array('Label', array('tag' => 'div', 'tagClass'=>'form_label')),
array(array('row' => 'HtmlTag'), array('tag' => 'div', 'class' => 'form_wrapper'))
Важная часть:
'tagClass'=>'form_label'
Посмотрите Zend_Form_Decorator_Label::render()
, как это работает
Комментарии:
1. Это работает. Можете ли вы сказать мне, зачем мне нужно:
array('data' => 'HtmlTag')
иarray('row' => 'HtmlTag')
?