6
<form>
<input type="checkbox" name="item[]" value="1" />
<input type="checkbox" name="item[]" value="2" />
<input type="checkbox" name="item[]" value="3" />
</form>
<?php
$app = JFactory::getApplication();
$items = $_POST['type']; // This works but is not Joomla wise...

$items = $app->input->getArray(array('type_ids')); // Tried multiple ways but can't get it to work.
?>

すべてのフォーム項目を配列 $items にロードする正しい方法は何ですか?

4

3 に答える 3

7

すべてのアイテムが必要な場合、Joomla の方法は次のようになります。

$items = JRequest::getVar('item', array());

'item' が設定されていない場合、2 番目のパラメーターはデフォルト値になります。ただし、これは通常どおり、名前を介してパラメーターをフェッチすることに注意してください。

Joomla Platform 11.1 以降を使用すると、次のようになります。

$items = $app->input->get('item', array(), 'ARRAY');

デフォルトのフィルタは配列を許可しない「cmd」であるため、ここでは 3 番目のパラメータが必要です。詳細については、ドキュメントを参照してください

于 2013-05-03T13:24:10.857 に答える
1

レガシーを使用するコンポーネントの場合、次のコードが機能します (バージョン 3.3):

 $jinput = JFactory::getApplication()->input;
 $data2  = $jinput->post->getArray(array());
 var_dump($data2);
于 2014-08-23T18:15:12.557 に答える