是否可以为 Zend Framework 2 表单行设置分隔符或在段落中显示它们?
Is it possible to set a separator for Zend Framework 2 form rows or display them in paragraphs?
我有这个表格
$this->add(array(
'name'=>'username',
'type'=>'Text',
'options'=>array(
'label' => 'Username',
)
));
$this->add(array(
'name'=>'password',
'type'=>'Password',
'options'=>array(
'label' => 'Password',
)
));
和
echo $this->formCollection($form);
这显然只是代码的相关部分。输出结果如下:
<fieldset ><label><span>Username</span><input type="text" name="username" value=""></label><label><span>Password</span><input type="password" name="password" value=""></label>
有没有什么办法可以将每一行都放在一个段落中,或者用换行符将所有行分开?我阅读了一些关于装饰器的内容,但我不确定那是 Zend Framework Version 2,而且我不知道如何将它应用到 formCollection,如果是的话。
最好的办法是用您自己的版本覆盖 formRow
助手,输出您想要的标记。我写了一点 lib 就是这样做的,请随意使用它或复制该方法。
定义你自己的助手:https://github.com/tfountain/tf-form/blob/master/src/TfForm/Form/View/Helper/FormRow.php and then update your module config to use it: https://github.com/tfountain/tf-form/blob/master/config/module.config.php
我有这个表格
$this->add(array(
'name'=>'username',
'type'=>'Text',
'options'=>array(
'label' => 'Username',
)
));
$this->add(array(
'name'=>'password',
'type'=>'Password',
'options'=>array(
'label' => 'Password',
)
));
和
echo $this->formCollection($form);
这显然只是代码的相关部分。输出结果如下:
<fieldset ><label><span>Username</span><input type="text" name="username" value=""></label><label><span>Password</span><input type="password" name="password" value=""></label>
有没有什么办法可以将每一行都放在一个段落中,或者用换行符将所有行分开?我阅读了一些关于装饰器的内容,但我不确定那是 Zend Framework Version 2,而且我不知道如何将它应用到 formCollection,如果是的话。
最好的办法是用您自己的版本覆盖 formRow
助手,输出您想要的标记。我写了一点 lib 就是这样做的,请随意使用它或复制该方法。
定义你自己的助手:https://github.com/tfountain/tf-form/blob/master/src/TfForm/Form/View/Helper/FormRow.php and then update your module config to use it: https://github.com/tfountain/tf-form/blob/master/config/module.config.php