#zend-framework #zend-form
#zend-framework #zend-форма
Вопрос:
Hii… Я хочу, чтобы несколько флажков отображались как и так on…name =»показывать [группы объявлений]», как я могу это сделать, используя код zend form?? Пожалуйста, смотрите ниже пример, как я хотел, чтобы мои выходные данные просматривались:
Инструкции
<div class="fieldgrp">
<label for="show_adgroups">Campaign/Ad-groups</label>
<div class="field"><input type="checkbox" name="show[adgroups]" id="show_adgroups" class="" value="adgroups" checked="checked" /></div>
</div>
<div class="fieldgrp">
<label for="show_keywords">Keywords</label>
<div class="field"><input type="checkbox" name="show[keywords]" id="show_keywords" class="" value="keywords" checked="checked" /></div>
</div>
Комментарии:
1. Я не вижу никакого простого способа достичь того, чего вы хотите. Обычно в MultiCheckbox используются такие имена, как show[], показать[]. Кроме того, метод setName элемента отфильтровывает любые квадратные скобки. Поэтому я думаю, что единственным способом сделать то, что вы хотите, было бы написать пользовательский элемент MultiCheckbox и связанный с ним помощник view.
Ответ №1:
Игнорируя «почему», вы можете достичь желаемого, используя подчиненную форму.
Просто назовите подчиненную форму «show» и добавьте к ней свои флажки «adgroups» и «keywords».
$form = new Zend_Form;
$show = new Zend_Form_SubForm();
$show->addElement('checkbox', 'adgroups', array(
'label' => 'Campaign/Ad-groups',
'checked' => true
));
$show->addElement('checkbox', 'keywords', array(
'label' => 'Keywords',
'checked' => true
));
$form->addSubForm($show, 'show');