2011-07-20 105 views
2
<form enctype="application/x-www-form-urlencoded" action="" method="post"> 
<ul> 
<div> 
<fieldset id="fieldset-groups"><legend>Endereço</legend> 

    <li> 
     <label for="name" class="optional">Name</label> 
     <input type="text" name="name" id="name" value=""> 
      <div class="errors"> 
        <p>Error</p> 
      </div> 
    </li> 

</fieldset> 

</div> 
</ul> 
</form> 

如何使用decorator zend让我的方式成为上面的代码?Decorators ul li zend_form

+2

您是否尝试过制作自己的装饰器?如果是这样,你有什么尝试? –

+3

这也是无效的HTML。您不能将div作为ul的直接子对象,或者将li作为fieldset的子对象。您至少需要将div封装在li中,并将另一个字段放在fieldset中。 –

回答

0

我试着这样说:

$this->addDecorator('FormElements') 
     ->addDecorator('HtmlTag', array('tag' => 'ul')) 
     ->addDecorator('Form'); 
    $this->setElementDecorators(array(
            'ViewHelper', 
            'Label', 
            'Errors', 
            new Zend_Form_Decorator_HtmlTag(array('tag' => 'li')) 
           )); 
    $this->setDisplayGroupDecorators(array(
             'FormElements', 
             'Fieldset', 
             'FormErrors', 
             new Zend_Form_Decorator_HtmlTag(array('tag' => 'li')), 
            )); 

的问题是,我需要浮动标签和文本元素,所以我试图用一个列表。

这是我能做到的唯一方法。