神奈川や横浜、東京・埼玉・千葉を中心に中小企業のwebシステム、ECサイト開発、IoTを使ったシステム開発、ホームページ作成を行い御社に有益なwebシステムを具現化致します
HagaSoftwareDesign[ハガソフトウェアデザイン]
9:00 〜 18:00(月〜金)

CakePHPのフォームヘルパーでcheckboxのdivを消す1つの方法(Posted on 2015/6/26 at 14:40 PM)

皆様、こんにちは。

CakePHP 2.5.8での開発をしている際に、
フォームヘルパーでチェックボックスを使う際に、
オプションについてくるdivタグを消す、一つの
方法です。

例えば、


                          echo $this->Form->input('hoge',array(
                          'type' => 'select',
                          'multiple' => 'checkbox',
                          'div' => false,
                          'label' => false
                          ));
                        

を行った際に、出力されるコードにdivタグが付くと思うのですが、

/lib/Cake/View/Helper/HtmlHelper.php の
div()関数の一部を、


                          return $this->tag('div', $text, $options);
                        


                          $ret = $this->tag('div', $text, $options);
                          if($class == 'checkbox'){
                          $ret = $text;
                          }
                          return $ret;
                        

のように、checkboxの場合だけ$textを返却する・・・
とdivが消えます。

かなり強引な方法なので、自己責任にてお試しください。
(CakePHPのアップデートの際などもご注意ください)

(ほかに$this->Form->checkbox()を使用する、という方法もあります)