Zend framework Zend_表单装饰器、css和显示组

Zend framework Zend_表单装饰器、css和显示组,zend-framework,zend-form,Zend Framework,Zend Form,我正在尝试在我的表单中显示组。我确信这是一个理解css的问题。 这是我的表单的外观: 现在我想让它变得更好: 如何将Displaygroup的图例移动到边框上? 如何使标签和字段之间的距离变小 这是我的课程表: $this->setName('Schwestern'); $this->setMethod('post'); $vorname=$this->addElement('TextBox','vorname',array( 'la

我正在尝试在我的表单中显示组。我确信这是一个理解css的问题。 这是我的表单的外观:

现在我想让它变得更好: 如何将Displaygroup的图例移动到边框上? 如何使标签和字段之间的距离变小

这是我的课程表:

$this->setName('Schwestern');
    $this->setMethod('post');

    $vorname=$this->addElement('TextBox','vorname',array(
            'label'     => 'Vorname:',          
    ));

    $nachname=$this->addElement('TextBox','nachname',array(
            'label'     => 'Nachname:', 

    ));

    $strasse=$this->addElement('TextBox','strasse',array(
            'label'     => 'Strasse:',          
    ));

    $plz=$this->addElement('TextBox','plz',array(
            'label'     => 'PLZ:',          
    ));

    $ort=$this->addElement('TextBox','ort',array(
            'label'     => 'Ort:',          
    ));

    $telefon=$this->addElement('TextBox','telefon',array(
            'label'     => 'Telefon:',          
    ));

    $handy=$this->addElement('TextBox','handy',array(
            'label'     => 'Handy:',            
    ));

    $email=$this->addElement('TextBox','email',array(
            'label'     => 'Email:',            
    ));

    $geburtsdatum = $this->addElement('DateTextBox','geburtsdatum',array(
        'label'     => 'Geburtsdatum:',
        'datePattern' => 'dd-MM-yyyy'
    ));



    $this->addDisplayGroup(array(

            'vorname',
            'nachname',
            'strasse',
            'plz',
            'ort',
            'geburtsdatum'

    ),'contact',array('legend' => 'Name und Anschrift'));

    $contact = $this->getDisplayGroup('contact');
    $contact->setDecorators(array(

            'FormElements',
            'Fieldset',
            array('HtmlTag',array('tag'=>'div','style'=>'width:200px;;float:left;border-style:solid; margin:5px;padding:5px;border-width:1px;border-color: grey;'))
    ));

    $this->addDisplayGroup(array('telefon','handy','email'), 'kontaktdaten',array('legend'=>'Kontaktdaten'));
    $this->getDisplayGroup('kontaktdaten')->setDecorators(array(

                'FormElements',
                'Fieldset',
                array('HtmlTag',array('tag'=>'div','style'=>'width:200px;;float:left;border-style:solid; margin:5px;padding:5px;border-width:1px;border-color: grey;'))
    ));


$this->setDecorators(array(
    'FormElements',                       
    array(array('data'=>'HtmlTag'),
    array('tag'=>'table','cellspacing'=>'6')),
    'DijitForm'
));
2015年10月22日编辑:

表单此部分的HTML输出:

在尝试使用字段集之前,我对表单进行了如下装饰:

$vorname=$this->addElement('TextBox','vorname',array(
            'label'     => 'Vorname:',          
    ));

    $vorname->setDecorators(array(
               'ViewHelper',
               'Description',
               'Errors',
               array(array('data'=>'HtmlTag'), array('tag' => 'td')),
               array('Label', array('tag' => 'td')),
               array(array('row'=>'HtmlTag'),array('tag'=>'tr'))
    )); 

那么,我可以使用装饰器吗?或者,要让这个表单变得更好,最好的解决方案是什么

你的css在哪里?代码生成的html?我有一个css文件,但我想我可以用decorator解决它?通常,我要做的是删除DtDdWrapper decorator。我还使用HtmlTag用html标记包装元素,并在需要时设置类。也许你可以发布预期的html,以便我们更容易回答你的问题。好的,你会得到我的html和我在其他表单中使用的装饰器以及我的css,非常有用谢谢你的html,但我希望你能给我们你的“预期”html输出你的css在哪里?代码生成的html?我有一个css文件,但我想我可以用decorator解决它?通常,我要做的是删除DtDdWrapper decorator。我还使用HtmlTag用html标记包装元素,并在需要时设置类。也许你可以发布预期的html,这样我们就更容易回答你的问题。好的,你会得到我的html和我在其他表单中使用的装饰器,还有我的css,非常有用谢谢你的html,但我希望你能给我们你的“预期”html输出