0

例如:

$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>

那可能吗?或者我需要使用什么技巧?

4

1 回答 1

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

我希望这能给你一些想法。

于 2012-08-02T09:34:07.140 回答