Formヘルパーのinputタグのdiv/labelなどの設定
Formヘルパーのinputではデフォルトでは以下のようにdivで囲われて、labelが付与されて出力されます。
CSSのフレームワークなどであらかじめ決まったスタイルがある場合に便利に作られています。恐らく、それを見越してのデフォルトでのフォーミングだと思いますが。
echo $this->Form->input( 'field', array());
<!-- HTML ->
<div class="input text">
<label for="field">Field</label>
<input id="field" type="text" name="data[field]">
</div>
divやlabelの出力をしない
ためには、それぞれにfalseをオプションとして設定します。これで、inputを囲っていたdiv要素が出力されなくなり、前のlabelも出力されなくなります。
echo $this->Form->input( 'field', array(
'label' => false, // labelを出力しない
'div' => false // divで囲わない
));
<!-- HTML ->
<input id="field" type="text" name="data[field]">
divやlabelのclassやテキストを設定する
こちらもオプションとしてそれぞれclassやtextを設定することで可能です。
echo $this->Form->input('field', array(
'label' => array(
'text' => 'message', // labelに表示するテキスト
'class' => 'control-label' // labelタグに付与するclass
),
'div' => array(
'class' => 'form-group' // divタグに付与するclass
),
'class' => 'form-control' // inputタグに付与するclass
));
<!-- HTML ->
<div class="form-group">
<label class="control-label" for="formdata3Field">message</label>
<input id="formdata3Field" class="form-control" type="text" name="data[formdata3][field]">
</div>
その他idなども設定可能です。
その他
'class'には複数指定する場合があると思いますが、配列にするのではなくそれぞれをスペース区切りで書くようにして下さい。classに対してtrim処理が行われるらしく、配列に対してはtrimできません と怒られます。
Warning (2): trim() expects parameter 1 to be string, array given [CORE/Cake/View/Helper.php, line 789]
関連記事
-
-
入力文字列の長さ(文字数)をバリデーション
CakePHP 2には、コアバリデーションに文字列の長さを検証する関数が用意されています。 文字列長(コア)バリデーション minLength - 最小文字数以上であること maxLengt
-
-
recursive設定によるfind()性能改善
CakePHPでは、モデルにアソシエーションを設定している場合、recursive(=>joinする階層)はデフォルトで0に設定されています。「recursiveゼロ」の意味するところとは、「1跨ぎま
-
-
Blowfishを使用してハッシュ化する
使用方法 Blowfishを採用してハッシュ化を行う場合、Securityクラスのhashメソッドを呼び出します。第2引数に'blowfish'を指定し、第3引数を指定しないもしくはfalseにしま
-
-
radioボタンを実装
Radioボタンの実装は、セレクトボックスとほぼ同じです。 個人的にはラジオボタンをすすんで使用することは少ないのですが、2択くらいの選択肢であれば非常に便利ですよね。 今回は、その実装方法 デモ
-
-
FormヘルパーのMagicOption (マジックオプション)
Formヘルパーでは、「フィールド名」,「テーブルカラムのデータ型」もしくはモデルの「バリデーション設定」によりフォーム要素を決定したり、自動で属性を付与する「マジックオプション」と呼ばれるものがある
-
-
Syslogログエンジン
2.4から「Syslog」ログクラスが追加され、簡単にSyslogを使用できるようになりました。 CakePHP側の設定はbootstrap.php内のCakeLogコンフィグのengineを'Sy
-
-
CakePHP インストール時エラーの対処
CakePHPインストール時に出くわすであろうエラーの原因と対処方法についてまとめてみました。前提として、WebサーバはApache、データベースはMySQLとしています。 Timezone未設
-
-
DebugKitを導入
定番のブログチュートリアルをこなして、定番のDebugKitを導入してみました。 2.3からはCakePHPインストール直後に以下のように導入を推奨するような警告メッセージが表示されるようになりまし
-
-
ログインに追加の条件を付与する「scope」
ユーザ登録では、仮登録処理(status=1)から送付したメール内のリンクをクリックしてもらい本登録(status=0)を行ってもらう実装をしました。仮登録の状態ではログインできないように実装するには
-
-
FullCalendarを使用してカレンダーアプリケーション
カレンダーアプリケーションを作成するため、カレンダー表示できるプラグインを探索して出会ったFullcalendarを試してみました。シンプルに使用できる上に、オプションがかなり豊富です。ダウンロード



Comment
知りたかったこと
RT @akagane99: 【netcommons3開発】参考になった。 Formヘルパーのinputタグのdiv/labelなどの設定 http://t.co/gaqEBpWmDu #netcommons #cakephp
【netcommons3開発】参考になった。 Formヘルパーのinputタグのdiv/labelなどの設定 http://t.co/gaqEBpWmDu #netcommons #cakephp