多分それは疲れた目ですが、投稿された配列をjInputから取得できません:
$jinput = JFactory::getApplication()->input;
$test1 = $jinput->get('Itemid');
$test2 = $jinput->get("filter");
$test3 = $jinput->get("filter['subjects']");
$test1
は正常にItemidを取得しますが、 'filter'を取得するさまざまな方法では、結果としてempty配列しか得られません。
JInput Object
(
[options:protected] => Array
(
)
[filter:protected] => JFilterInput Object
(
[tagsArray] => Array
(
)
[attrArray] => Array
(
)
)
[data:protected] => Array
(
[option] => com_xyz
[view] => titles
[Itemid] => 241
[filter] => Array
(
[subjects] => Array
(
[0] => 6
)
)
[limit] => 25
[limitstart] => 0
私はこの時点で見落としにバカにされてもかまわない。私はそれとの戦いにうんざりしている。どんな援助でもありがたいです。 :)
これを試して:
$app = JFactory::getApplication();
$jinput = $app->input;
$filter = $jinput->getVar('filter',array());
それがあなたのために働くことを願っています
$jinput->getArray()
のドキュメントを誤解または誤解しました。興味のある変数の配列で指定されているように、これは入力変数のサブセットを返すことを理解しました。これはtrueかもしれませんが、空の配列の場合はall入力変数も返します提供されます:
$allfields = $jinput->getArray(array())
これを少しいじってみました。
次のように、空白のデフォルト値と filter typeを引数として追加してみてください。
$test2 = $jinput->get('filter', '', 'RAW');