LoginSignup
21
19

More than 5 years have passed since last update.

【CakePHP】FormHelper

Last updated at Posted at 2014-06-09

共通パラメータ

基本的には第一引数が、\$fieldName。第二引数が、$optionsである。

名前 内容
$fieldName idとnameの設定
$options 属性の設定

fieldNameについて

hogeを設定すると、id="hoge" name="data[hoge]"となる。
Hoge.hugaを設定るすると、id="HogeHuga" name="data[Hoge][huga]"となる。

通常は、「モデル名.カラム名」を設定する。モデル名を省略すると、create()メソッドで指定したモデル名が使用される。

テキストボックス

フォーマット
$this->Form->text($fieldName, $options = array());
$this->Form->text('User.name', array('class'=>'class_name'));
//=>戻り値
//<input id="UserName" name="data[User][name]" class="class_name"/>

テキストエリア

$this->Form->textarea($fieldName, $options = array());
$this->textarea('Post.memo', array('class'=>'class_name','value'=>'てすとてすと'));
//=>戻り値
//<textarea id="PostMemo" name="data[Post][memo]" class="class_name">てすとてすと</textarea>

チェックボックス

フォーマット
$this->Form->checkbox($fieldName, $options = array());
$this->Form->checkbox('User.name', array('class'=>'class_name'));
//=>戻り値
//<input id="UserName" name="data[User][name]" class="class_name"/ type="checkbox">

セレクトボックス

他と違って、第二引数がセレクトボックスの値。第三引数がタグ属性となる。

$this->Form->select($fieldName, $options = array(), $attributes = array())

第二引数 $options

optionタグの値を連想配列で設定する。
array(0=>'hoge',1=>'huga')と設定すると、

<option value="0">hoge
<option value="1">huga

が出力される。

第三引数 $attributes

設定値を連想配列で渡す。

①class
class属性

②empty
optionタグの先頭の項目。
'empty'=>falseで先頭がなくなる。
'empty'=>array('0'=>'-')と書くと

<option value="0">-</option>

と出力される。

③value
デフォルト値を設定することができる。
デフォルト値に設定したい、value値(第二引数のkey)を設定する。
'value'=1と設定すると、

<option value=1 selected="selected">

と出力される。

21
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
19