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]
関連記事
-
hasOne アソシエーション
hasOneアソシエーションはテーブル間で1つのレコードに対して他のテーブルに紐付くレコードが1つの場合にjoinする場合に使用します。 CakePHPのドキュメントにならってUserモデルとP
-
selectボックスを実装
今まで、selectボックスのgroupを作成するのにSet::Combineを使用していましたが、意外と簡単にできることに気付いてしまったので、ご紹介。(自分だけ知らなかったことに気付いた と言った
-
ログインに追加の条件を付与する「scope」
ユーザ登録では、仮登録処理(status=1)から送付したメール内のリンクをクリックしてもらい本登録(status=0)を行ってもらう実装をしました。仮登録の状態ではログインできないように実装するには
-
日付・時間のバリデーション
日付や時刻に関するバリデーションは以下のルールがビルトインされています。 date 日付 time 時刻 datetime 日時 (m:「月」を数字表記 / M:「月」を英語表記)
-
HttpSocketを使用してリクエスト送信
CakePHPには、Webサービスへのリクエスト送信のためのHttpSocketクラスが用意されています。 HttpSocket get HTTP GETリクエストを発行します。デモ H
-
ログローテーション
CakePHP 2.xではbootstrap.php内にあらかじめアプリケーションログの設定が書かれています。2.xで日付ごとにログファイルが切り替わるよう設定してみました。 日ごとにログを切り替え
-
バリデーション前後に処理を追加できる「beforeValidate」「afterValidate」
CakePHPでは、「beforeValidate」「afterValidate」というバリデーション処理の前後で追加の処理を実装できるコールバック関数が用意されています。 beforeVali
-
CakeEmailでメール送信(@gmail)
CakePHP 2になって追加されたクラスCakeEmailがシンプルに使えます。これを使用してメール送信を行う処理を実装してみました。 CakeEmailクラスの読み込み /app/Config
-
CakePHP インストール時エラーの対処
CakePHPインストール時に出くわすであろうエラーの原因と対処方法についてまとめてみました。前提として、WebサーバはApache、データベースはMySQLとしています。 Timezone未設
-
FormヘルパーのMagicOption (マジックオプション)
Formヘルパーでは、「フィールド名」,「テーブルカラムのデータ型」もしくはモデルの「バリデーション設定」によりフォーム要素を決定したり、自動で属性を付与する「マジックオプション」と呼ばれるものがある
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