
【CakePHP2】checkboxを作る際の個人的な作法
2015/01/12
checkboxを作る際は過去ログのようにすればできるのですが、リストが縦に並んだりと自分の欲しい形になってくれないので、以下のようにして横並びにしています。
面倒だけど、効果的。
縦並びにしたくない場合などの個人的にとっている手段です。
あまりオススメはしませんが(苦笑)
項目(マスタ)を配列で作成。
[php]
$mt_week = array(
1 => 'AM',
2 => 'PM',
3 => '月',
4 => '火',
5 => '水',
6 => '木',
7 => '金',
8 => '土',
);
[/php]
マスタ配列をforeachで回しつつ、checkboxを作成。
[php]
echo '
echo '
';
echo '
foreach ( $mt_week AS $key => $val ) {
echo '";
}
echo '
';
echo '
';
[/php]
labelタグ部分、およびcheckbox書式のname部分が "[$key" で終わっていますが、わざとです。
CakePHPはこの書式で終わると、配列として認識してくれる(隠し?)機能を持っています。
上記コードで、以下のようになります。
出来上がるHTMLコードはこんな感じ。
nameが三次元配列になっているのが、先ほど書いた "[$key" で終わっている部分です。
valueはそれぞれ、先のマスタ配列で指定した値になっているので、あとはコントローラーで好きに料理できます。
[html]
[/html]