web-dev-qa-db-ja.com

モデルクラスのフォーム内の特定のフィールドセットにアクセスするにはどうすればよいですか?

フォームの値を取得するために以下のコードを使用しています。

$data = JFactory::getApplication()->input->get('jform', array(), 'array');

ただし、json_encode、使用するすべてのフォームフィールドをエンコードします。特定のフィールドセットからフォームのフィールドを選択するにはどうすればよいですか?フォームに2つのフィールドセットがあり、元のフィールドセットと「reportFilters」という名前の別のフィールドセットがあります。ビュークラスではgetFieldsetしか使用できません。

2
Break the Law

私のカスタムフィールドはすべてデータベースからのものだったので、この問題を回避するには、新しい連想配列を作成し、データベースからカスタムフィールドを読み込み、取得したカスタムフィールドの値を割り当てます。このコードから。

$data = JFactory::getApplication()->input->get('jform', array(), 'array');

これを困難にした唯一のことは、フォームをできるだけダイナミックに作成することでした。

1
Break the Law

上記のコマンドを使用してサーバー要求データを取得する場合、フォームフィールドはキー/値配列で編成されます。配列からデータを取得するのに関係のないフィールドセットは、XMLフォーム定義ファイルで指定されたフォームフィールド名を使用するだけです。したがって、「first_name」というフィールドがある場合は、どのフィールドセットに関係なくそのようにアクセスします。

$data = JFactory::getApplication()->input->get('jform', array(), 'array');
$data['first_name']

お役に立てば幸いです。

3
Brian Bolli