Zend Form помещает несколько элементов в один div - PullRequest
1 голос
/ 27 августа 2010

У меня есть Zend Form с некоторыми элементами.И мне нужно поместить некоторые элементы в первый div, некоторые в другой div.Часть моей формы:

приватная функция _createForm ($ action) {

$form = new Zend_Form();

$form->setName($action . '_form');
$form->setMethod('post');       

$title = $form->createElement('text', 'title');
$title->setLabel('Title')
      ->setAttrib('maxlength',50)->setAttrib('id', 'title')->setAttrib('class', $action . '_title')
      ->setAttrib('style','height: 15px; width: 200px;')
      ->setRequired(true)
      ->setDecorators(array(
        'ViewHelper',
        array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class'  => 'element')),
        array('Label', array('tag' => 'td')),
        array(array('row' => 'HtmlTag'), array('tag' => 'tr')),
      ));
$priority = $form->createElement('select', 'priority');
$priority->setLabel('Parent Rank')
        ->setAttrib('id', 'priority')->setAttrib('class', $action . '_priority')
        ->setMultiOptions($dataGrid->AllRanks())
        ->setDecorators(array(
          'ViewHelper',
          array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class'  => 'element')),
          array('Label', array('tag' => 'td')),
          array(array('row' => 'HtmlTag'), array('tag' => 'tr')),
        ));
$enabled = $form->createElement('select', 'enabled');
$enabled->setLabel('Enabled')
        ->setAttrib('id', 'enabled')->setAttrib('class', $action . '_enabled')
        ->setMultiOptions(array('1'=>'yes', '0'=>'no'))
        ->setDecorators(array(
          'ViewHelper',
          array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class'  => 'element')),
          array('Label', array('tag' => 'td')),
          array(array('row' => 'HtmlTag'), array('tag' => 'tr')),
        ));
$use_gv = $form->createElement('select', 'use_gv');
$use_gv->setLabel('Use GV in calc.?')
        ->setAttrib('id', 'use_gv')->setAttrib('class', $action . '_use_gv')
        ->setMultiOptions(array('1'=>'yes', '0'=>'no'))
        ->setDecorators(array(
          'ViewHelper',
          array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class'  => 'element')),
          array('Label', array('tag' => 'td')),
          array(array('row' => 'HtmlTag'), array('tag' => 'tr')),
        ));   

}

А теперь, как разместить элементы $ title и $ priority в одном divи другие элементы в secondf?

1 Ответ

2 голосов
/ 27 августа 2010

Вам необходимо использовать группы отображения (http://framework.zend.com/manual/en/zend.form.forms.html#zend.form.forms.displaygroups).. Отключите декораторы по умолчанию для них, а затем добавьте свои собственные, используя функцию setDecorator

...