[CakePHP] Formヘルパーのinputでdivやlabelをカスタマイズする方法

CakePHPのフォームヘルパーでinputを作成すると、input が div で囲われ、label が自動的に付いてきます。

デザインをするときに、これらのタグ自体を消したい、クラス名を変更したいなどの要望が出てきますね。

設定のオプションで細かく指定できますので、今回はその方法を紹介します。

divやlabelの出力をしないようにする

inputの設定は連想配列で行います。
labelとdivを表示しないようにするにはfalseを設定するだけです。

echo $this->Form->input( 'name', array(
    'label' => false,    // labelを出力しない
    'div' => false       // divを出力しない
));

div label input のクラス名を変更する

div label の中にさらに連想配列で詳細を設定できます。
labelには text と class が、div には class の設定が可能です。

echo $this->Form->input('name', array(
    'label' => array(
        'text' => 'labelName',       // labelで出力するテキスト
        'class' => 'labelClass' // labelタグのクラス名
    ),
    'div' => array(
        'class' => 'formClass'    // divタグのクラス名
    ),
    'class' => 'inputClass'      // inputタグのクラス名
));


Author: webmaster