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]
関連記事
-
-
Jsヘルパーを使用してAjax更新
更新処理でページ遷移を伴う場合、ページ全体をレスポンスするのに対して、Ajax処理ではページの一部のレスポンスが可能となるためサーバからの通信量を抑えることが可能となります。デモ head
-
-
ユーザ登録(仮登録・メール・本登録)
以前1.3版で投稿した「ユーザ登録」処理の2.x版を作成しました。フローは同じで以下のようにします。 1. メールアドレス・パスワードでユーザ登録 2. この時点では仮登録として、本登録用のU
-
-
日付・時間のバリデーション
日付や時刻に関するバリデーションは以下のルールがビルトインされています。 date 日付 time 時刻 datetime 日時 (m:「月」を数字表記 / M:「月」を英語表記)
-
-
HttpSocketを使用してリクエスト送信
CakePHPには、Webサービスへのリクエスト送信のためのHttpSocketクラスが用意されています。 HttpSocket get HTTP GETリクエストを発行します。デモ H
-
-
アップロードファイルのバリデーションルール
CakePHP 2.2や2.3になってファイルアップロードに対するルールがコアバリデーションに追加されているようで、まとめてみました。 コアバリデーション 関連しそうなルールは以下の4つの
-
-
(メール・URL・電話・郵便・IP) データ バリデーション
今回は、プロフィール情報に使用されるデータに絞ったバリデーションルールです。 バリデーションルール 以下の5つのバリデーションルールがコアに用意されています。 email メールアドレス
-
-
独自のバリデーションルールを作成
CakePHPで組み込みバリデーションルールをつくる方法は、正規表現を定義する方法と独自メソッドを定義する方法の2つがあるようです。 参考 Custom Validation Rules 正規
-
-
バリデーション前後に処理を追加できる「beforeValidate」「afterValidate」
CakePHPでは、「beforeValidate」「afterValidate」というバリデーション処理の前後で追加の処理を実装できるコールバック関数が用意されています。 beforeVali
-
-
バリデーションエラーメッセージの取得
CakePHP 2.xになってバリデーションエラー時に返却されるメッセージのデータ形式が変更になったようです。1.3系では、ひとつのフィールドに対して返却されるメッセージは一つのルールのみですが、2.
-
-
Blowfishを使用してハッシュ化する
使用方法 Blowfishを採用してハッシュ化を行う場合、Securityクラスのhashメソッドを呼び出します。第2引数に'blowfish'を指定し、第3引数を指定しないもしくはfalseにしま



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