アプリケーションの要件を満たすために FormHelper の動作を変更しようとしています。ネイティブの FormHelper を使用したいのですが、すべての入力に対して、ユーザーにヘルプを提供し、特定のフィールドを説明する短いメッセージを追加する必要があります。
私の考えは、独自のヘルパーを作成し、ヘルプ メッセージを引数として渡すことです。この関数は、フォームの inputDefaults 設定を変更し、ネイティブの FormHelper 入力関数を呼び出します。
例えば:
class MsgFormHelper extends AppHelper {
public function input($name, $message, $options) {
$this->_View->Form->_inputDefaults['after'] .= '<div>'.$message.'</div>';
return $this->_View->Form->input($name, $options);
}
}
しかし、このソリューションはこのエラーに気づきます:
注意 (8): オーバーロードされたプロパティ FormHelper::$_inputDefaults の間接的な変更は効果がありません...
フォームのinputDefaults設定で「後」の値を変更する方法はありますか?