フォームを作成していて、複数のフィールドセットと凡例を使用したいのですが、これはフォームヘルパーを使用して可能ですか?
これまでの私のフォーム-
echo $this->Form->create('PatientCase');
echo $this->Form->inputs(array(
'legend' => 'Patient Details',
...
));
echo $this->Form->end('Save Patient Case');
フォームを作成していて、複数のフィールドセットと凡例を使用したいのですが、これはフォームヘルパーを使用して可能ですか?
これまでの私のフォーム-
echo $this->Form->create('PatientCase');
echo $this->Form->inputs(array(
'legend' => 'Patient Details',
...
));
echo $this->Form->end('Save Patient Case');
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>
API を参照してください: http://api.cakephp.org/class/form-helper#method-FormHelperinput
主に次のようなパラメーター: before
、after
、between
または単にformat