2014-02-10 6 views
0

Я новичок в zend, я использую zendForms, и я хочу сгруппировать поля формы в группы, а затем в интерфейсе я хочу отображать их в разных div, также я хочу сделать то же самое для своего сохранения кнопка, это возможно?Группировка полей формы Zend

ответ

0

Как обычно с ZF вы можете сделать это несколькими способами, самый простой из них, который я предлагаю, - определить группы отображения и посмотреть, подходит ли по умолчанию html, который они генерируют, для ваших потребностей (отображаемые группы отображаются с тегом fieldset по умолчанию).

Если вам нужна дополнительная настройка, смотрите ниже:

class Form_Product extends Zend_Form 
{ 
    public function init() 
    { 
     $a = new Zend_Form_Element_Text('a'); 
     $b = new Zend_Form_Element_Text('b'); 
     $c = new Zend_Form_Element_Text('c'); 

     /* 
     * The first way is to define display groups and customize their decorators 
     */ 
     $this->addDisplayGroup(array($a, $b), 'groupAB'); 
     $this->getDisplayGroup('groupAB')->setDisableLoadDefaultDecorators(true); 
     $this->getDisplayGroup('groupAB')->setDecorators(array(
      'FormElements', 
      'DtDdWrapper' 
     )); // or whatever decorators you need 

     $this->addDisplayGroup(array($c), 'groupC'); 
     // ... 

     /* 
     * Second way is to use custom view script to render the form. 
     * In view use $this->element to get form object 
     * and $this->element->getElements() or $this->element->getElement('name') to get elements 
     */ 
     $this->addElements(array($a, $b, $c)); 

     $this->setDisableLoadDefaultDecorators(true); 
     $this->setDecorators(array(
      array('ViewScript', array('viewScript' => 'controller/action/form.phtml')), 
     )); 
    } 
} 
Смежные вопросы