CakePHP使用表单助手的多个fielsets

时间:2013-02-06 12:49:20

标签: cakephp

我正在创建一个表单并希望使用多个字段集和图例,这可以使用表单助手吗?

到目前为止我的表格 -

echo $this->Form->create('PatientCase');
echo $this->Form->inputs(array(
    'legend'                => 'Patient Details',
...
));
echo $this->Form->end('Save Patient Case');

2 个答案:

答案 0 :(得分:1)

如果使用Form :: inputs(),CakePHP将自动将字段包装在字段集中:

echo $this->Form->inputs(array(
    'legend'=>'Login',
    'User.username',
    'User.password'
));

将产生:

<fieldset>
    <legend>Login</legend>
    <div class='input text'>...</div>
    <div class='input password'>...</div>
</fieldset>

如果在input数组中设置'fieldset'=&gt; false,则cake会禁止字段字段集标记。

您也可以在插入字段集标记之前和之后使用(也由@kical建议) - 这会使您的代码变得不那么直观:

echo $this->Form->input('User.username', array(
    'before'=>'<fieldset><legend>Login</legend>'
));

echo $this->Form->input('User.password', array(
    'after'=>'</fieldset>'
));

您也可以手动插入字段集标记(如果您想自定义字段集标记或在字段集中创建字段集,则很方便:

<fieldset>
    <legend>Login</legend>
    <?php 
    echo $this->Form->input('User.username');
    echo $this->Form->input('User.password');
    ?>
</fieldset>

答案 1 :(得分:0)

请参阅API:http://api.cakephp.org/class/form-helper#method-FormHelperinput

主要是指代:beforeafterbetween或仅format