2012-08-02 58 views
0

例如:如何在Zend框架添加元素的兄弟使用Zend_Form_Element

$assignment_type = $this->createMyElement('text', 'assignment_type', array(
      'name' => 'assignment_type', 
      'id' => 'assignment_type_label' 
     ))->setAttrib('maxlength', '100')->addDecorator('Htmltag', array('tag' => 'div', 'class' => 'input_text')); 

在這裏,我通過創建div標籤擠包的輸入,但我怎麼可以添加這個div內的其他元素?

所以我希望看到這樣的事情:

<div> 
<input /> 
<img /> <!--the brother element created --> 

</div> 

這可能嗎?或者我需要使用什麼黑客?

回答

1

以下是我做的一個DIV(在這種情況下,日期選擇器)包裝三個要素:

$bday = new Zend_Form_Element_Select('bday'); 
     $bday->setLabel('Birth Date: ') 
      ->setDecorators(array(
       array('ViewHelper'), 
       array('Label', array('tag' => 'dt')), 
       array('HtmlTag', //opening tag 
        array(
         'tag'  => 'div', 
         'openOnly' => TRUE, 
         'id'  => 'bday', 
         'placement' => 'prepend' 
       )), 
      )); 
     $bdaymonth = new Zend_Form_Element_Select('bdaymonth'); 
     $bdaymonth->addValidator('Digits') 
        ->setDecorators(array(
         array('ViewHelper') 
       )); 

     $bdayyear = new Zend_Form_Element_Select('bdayyear'); 
     $bdayyear->addValidator('Digits') 
       ->setDecorators(array(
        array('ViewHelper'), 
        array('HtmlTag', //closing tag 
         array(
          'tag'  => 'div', 
          'closeOnly' => TRUE 
        )), 
       )); //elements truncated for brevity 

我希望這給你一些想法。