Zend framework Zend框架中的三列表形式

Zend framework Zend框架中的三列表形式,zend-framework,zend-form,zend-decorators,Zend Framework,Zend Form,Zend Decorators,我在Zend Framework中创建“三列表”表单时遇到一些问题: 我已经用两列表格装饰了Zend表单: 表有两列,第一列是label,第二列是Zend_Form_元素,效果很好,但是, 我想添加第三列,并在那里放置一个小的图像问号,在那里我将设置javascript 如何设置装饰呢 两列表格的当前装饰为: <?php class Application_Form_Login extends Zend_Form { public function init() { // cr

我在Zend Framework中创建“三列表”表单时遇到一些问题:

我已经用两列表格装饰了Zend表单:

表有两列,第一列是label,第二列是Zend_Form_元素,效果很好,但是, 我想添加第三列,并在那里放置一个小的图像问号,在那里我将设置javascript

如何设置装饰呢

两列表格的当前装饰为:

<?php
class Application_Form_Login extends Zend_Form {

public function init() {

    // create decoration for form's elements
    $elementDecoration = array(
        'ViewHelper',
        'Description',
        'Errors',
        array(array('data'=>'HtmlTag'), array('tag' => 'td', 'valign' => 'TOP')),
        array('Label', array('tag' => 'td')),
        array('Errors'),
        array(array('row'=>'HtmlTag'),array('tag'=>'tr'))
    );
    $buttonDecoration = array(
        'ViewHelper',
        array(array('data'  => 'HtmlTag'), array('tag' => 'td')),
        array(array('label' => 'HtmlTag'), array('tag' => 'td', 'placement' => 'prepend')),
        array(array('row'   => 'HtmlTag'), array('tag' => 'tr')),
    );
    $formDecoration = array(
        'FormElements',
        array(array('data'=>'HtmlTag'), array('tag'=>'table', 'class'=>'forms')),
        'Form'
    );

    // create form elements
    $username = new Zend_Form_Element_Text("username");
    $username->setLabel('Username: ')
             ->setDecorators($elementDecoration);

    $password = new Zend_Form_Element_Password("password");
    $password->setLabel('Password: ')
             ->setDecorators($elementDecoration);

    $submit = new Zend_Form_Element_Submit('Login');
    $submit->setLabel('LOGIN')
           ->setDecorators($buttonDecoration);

    $this->setDecorators($formDecoration);

    // set created form elements
    $this->setAction('')
        ->setMethod('post')
        ->addElement($username)
        ->addElement($password)
        ->addElement($submit);
    }

   }

这取决于您是只需要添加
,还是需要在
中添加内容

在第一种情况下,您只需要在标签装饰器之后添加一个简单的HtmlTag装饰器:

array('HtmlTag', array('tag'=>'td','class'=>'fieldTip','placement'=> 'APPEND'))
如果您想对字段进行某种描述,您应该使用描述装饰器和$element->setDescription()方法,然后使用css/js将其显示为工具提示

编辑


我刚刚回答了另一个关于简单定制装饰器的问题,在我给出的示例中,您会发现您需要什么。只需将
部分替换为您需要的任何内容。

我需要将一些内容放入标记中,并且我已经在Zend\u Form\u元素下面有了描述,我需要类似于另一个描述的内容。。。。无论如何,我将使用您的示例,通过JavaScription在标记中设置内容,就是这样!谢谢,当我获得15个声誉时,我将放弃对答案的投票:)我想你现在已经获得了声誉;)你既没有确认也没有投票支持答案。。。