在zf2中添加<div>和类以形成表单

时间:2015-07-04 04:49:24

标签: zend-framework zend-framework2

我想在此表单中为每个添加css类和分区标记。我不知道怎么做。我也可以为标签和输入字段添加类,但不能获取如何添加。

我的表格就像这样

namespace Erp\Form;

use Zend\Form\Form as Form;

class LeadsForm extends Form {
    public function __construct($name = null){
        parent::__construct('leads');

        $this->add(array(
            'name' => 'id',
            'type' => 'Hidden',
        ));
        $this->add(array(
            'name' => 'companyName',
            'type' => 'Text',
            'attributes' => array(
                'class' => 'req'
            ),
            'options' => array(
                'label' => 'Company Name',

            ),
        ));
        $this->add(array(
            'name' => 'website',
            'type' => 'Text',
            'options' => array(
                'label' => 'Website',
            ),
        ));

它显示如下(源代码)

    <form method="POST" name="leads" action="&#x2F;erp&#x2F;public&#x2F;leads&#x2F;add" id="leads">
<fieldset >
<input type="hidden" name="id" value="">
<label><span>Company Name</span>
<input type="text" name="companyName" class="req" value=""></label>
<label><span>Website</span>
<input type="text" name="website" value=""></label>

但我希望这就像这样

<form method="POST" name="leads" action="&#x2F;erp&#x2F;public&#x2F;leads&#x2F;add" id="leads">

<input type="hidden" name="id" value="">

<div class="formSep">
<label class="req">Company Name</label>
<input type="text" name="companyName" class="req" value="">
</div>

<div class="formSep">
<label class="req">Website</label>
<input type="text" name="website" value="">
</div>

我该怎么做?

1 个答案:

答案 0 :(得分:3)

我假设您正在使用此代码来呈现表单。

$form = $this->form;
$form->prepare();
echo $this->form()->openTag($form);
echo $this->formCollection($form);
echo $this->form()->closeTag();

虽然这可以按预期工作,但对于像你这样的情况来说,它并没有那么灵活。因此,要以您希望的方式在视图文件中呈现表单,必须使用View Helpers并逐个呈现每个表单输入。

 $form = $this->form;
 $form->prepare();
 echo $this->form()->openTag($form);
 echo $this->formHidden($form->get("id"));
 <div class="formSep">
     echo $this->formText($form->get("companyName"));
 </div>
 <div class="formSep">
     echo $this->formText($form->get("website"));
 </div>
 echo $this->form()->closeTag();