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/Cssファイルの読み込みや出力する方法
CakePHPのHTMLヘルパーにはjsファイルやcssファイルを読み込むためのメソッドが用意されています。ファイルを読み込むのに加えて、出力先を複数指定できるようになっています。 また、インライン
-
-
selectボックスを実装
今まで、selectボックスのgroupを作成するのにSet::Combineを使用していましたが、意外と簡単にできることに気付いてしまったので、ご紹介。(自分だけ知らなかったことに気付いた と言った
-
-
ハッシュ関数の選択とハッシュ化処理
CakePHPでは、ログイン時にはpasswordを自動的にハッシュ化して認証を行ってくれますが、そのパスワードを登録する際は、明示的にハッシュ化する必要があります。 ハッシュ関数の選択 ハッ
-
-
hasOne アソシエーション
hasOneアソシエーションはテーブル間で1つのレコードに対して他のテーブルに紐付くレコードが1つの場合にjoinする場合に使用します。 CakePHPのドキュメントにならってUserモデルとP
-
-
DebugKitを導入
定番のブログチュートリアルをこなして、定番のDebugKitを導入してみました。 2.3からはCakePHPインストール直後に以下のように導入を推奨するような警告メッセージが表示されるようになりまし
-
-
バリデーションエラーメッセージの取得
CakePHP 2.xになってバリデーションエラー時に返却されるメッセージのデータ形式が変更になったようです。1.3系では、ひとつのフィールドに対して返却されるメッセージは一つのルールのみですが、2.
-
-
RSSフィードの取得
コンロトーラ public function getrssfeed() { try { $newsItems = $this->Rss->read( 'http://
-
-
アップロードファイルのバリデーションルール
CakePHP 2.2や2.3になってファイルアップロードに対するルールがコアバリデーションに追加されているようで、まとめてみました。 コアバリデーション 関連しそうなルールは以下の4つの
-
-
パス定数と変更方法やURLの取得
CakePHPは基本的にはディレクトリそのまま配置することで構築が可能ではありますが、設定パスを変更することでセキュリティに考慮した構成にすることや運用性をもたせたものにすることが可能になります。
-
-
Jsヘルパーを使用してAjax更新
更新処理でページ遷移を伴う場合、ページ全体をレスポンスするのに対して、Ajax処理ではページの一部のレスポンスが可能となるためサーバからの通信量を抑えることが可能となります。デモ head



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