1

フォームを作成していて、複数のフィールドセットと凡例を使用したいのですが、これはフォームヘルパーを使用して可能ですか?

これまでの私のフォーム-

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

2 に答える 2

1

Form :: input()を使用する場合、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'=> 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>
于 2013-02-07T12:07:51.123 に答える
0

API を参照してください: http://api.cakephp.org/class/form-helper#method-FormHelperinput

主に次のようなパラメーター: beforeafterbetweenまたは単にformat

于 2013-02-06T13:25:54.640 に答える