フォームの値を取得するために以下のコードを使用しています。
$data = JFactory::getApplication()->input->get('jform', array(), 'array');
ただし、json_encode
、使用するすべてのフォームフィールドをエンコードします。特定のフィールドセットからフォームのフィールドを選択するにはどうすればよいですか?フォームに2つのフィールドセットがあり、元のフィールドセットと「reportFilters」という名前の別のフィールドセットがあります。ビュークラスではgetFieldsetしか使用できません。
私のカスタムフィールドはすべてデータベースからのものだったので、この問題を回避するには、新しい連想配列を作成し、データベースからカスタムフィールドを読み込み、取得したカスタムフィールドの値を割り当てます。このコードから。
$data = JFactory::getApplication()->input->get('jform', array(), 'array');
これを困難にした唯一のことは、フォームをできるだけダイナミックに作成することでした。
上記のコマンドを使用してサーバー要求データを取得する場合、フォームフィールドはキー/値配列で編成されます。配列からデータを取得するのに関係のないフィールドセットは、XMLフォーム定義ファイルで指定されたフォームフィールド名を使用するだけです。したがって、「first_name」というフィールドがある場合は、どのフィールドセットに関係なくそのようにアクセスします。
$data = JFactory::getApplication()->input->get('jform', array(), 'array');
$data['first_name']
お役に立てば幸いです。