eyecatch_cakephp_20160912_cmp

CakePHP

CakePHP2.xのFormヘルパーを使ってのラジオボタンの作り方。

2015/08/10

超基本的な事ですが、CakePHP2.x のFormヘルパーでラジオボタンを作る方法。
アンチョコ化してコピペで作れるよにしておいてやる。

CakePHP2でラジオボタンを作る

文法

第一引数がオプション(選択肢)、第二引数がアトリビュート(設定)。
legendをtrueにすると囲まれます。

英語版のCookbook 2.xから転載。

$attributes['value']
to set which value should be selected default. → 規定値を指定
$attributes['separator']
to specify HTML in between radio buttons (e.g.
). → HTMLでセパレータを指定(<br />とか)
$attributes['between']
specify some content to be inserted between the legend and first element. → Legendと最初の値の間に表示するテキストを指定(ラベルみたいなもの??)
$attributes['disabled']
Setting this to true or 'disabled' will disable all of the generated radio buttons. → "disabled"=>trueか"disabled"=>"disabled"で、フォーム自体がdisabledになります。
$attributes['legend']
Radio elements are wrapped with a label and fieldset by default. Set $attributes['legend'] to false to remove them. → デフォルトで囲まれるので、legendにfalseをセットすることで囲まれなくなるよ。

実際の書き方

トピックスの「公開/非公開」設定で使用する。

$mt_publishは、app_model などで以下のように指定し、TopicsControllerで呼び出して$this->setする。
初期値を1としたい場合は、
$this->request->data['Topic']['publish'] = 1;
とする。

app/Models/AppModel.php

app/Controllers/TopicsController.php

app/Views/Topics/form.ctp

CakePHPデフォルトのCSSが効いいるのでラジオボタンが改行していますが、こんな感じになるはずです。

cakephp2 radio

◆参考ページ
FormHelper - CakePHP Cookbook v2.x documentation

-CakePHP
-, ,