0

'label'=>falseしたがって、CakePHPでは、ステートメントに「inputDefaults」を入力することにより、デフォルトでラベルをオフにする方法がありますForm->create()

ラベルを完全に削除する代わりに、ラベルを要素のプレースホルダー属性に変更する方法はありますか?これは、各要素にを追加しながら'inputDefaults'=>array('label'=>false)onを実行するのと同じですが、各要素に追加してCakePHPに実行させることなく実行する方法はありますか?Form->create'placeholder'=>'Placeholder'

4

1 に答える 1

3

変更を含むFormHelperの独自のコピーを実行できます。FormHelperのバージョンをlib/Cake / View / Helper / FormHelper.phpからコピーして、アプリのapp / View / Helper / FormHelper.phpに貼り付け、コピーに必要な変更を加えることができます。アプリフォルダー内のコピーは、コアで提供されているものよりも優先されます。いつものように、Coreのファイルに変更を加えることは決してありません

または、FormHelperを独自のHelperクラスに拡張することもできます。

class MyFormHelper extends FormHelper {
    ...
}

$helpers配列に「MyForm」を追加することを忘れないでください!

いずれにせよ、Cake 2.xを使用すると、現在、あなたが求めていることは不可能です。変更を加えずに、各input()呼び出しのoptions配列に「プレースホルダー」=>「...」を追加する必要があります。この変更を行う場合は、他の人があなたの仕事から利益を得ることができるように、CakePHPコミュニティに貢献することを検討してください!

于 2012-09-08T04:32:15.960 に答える