Peut-être que ça fatigue les yeux, mais je suis incapable de récupérer un tableau posté à partir de jInput:
$jinput = JFactory::getApplication()->input;
$test1 = $jinput->get('Itemid');
$test2 = $jinput->get("filter");
$test3 = $jinput->get("filter['subjects']");
$test1
récupère avec succès l'élément Itemid, mais différentes méthodes de récupération du "filtre" n'entraînent jamais qu'un tableau vide.
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
Cela ne me dérange pas de me sentir stupide pour un oubli, je suis juste fatigué de me battre. Toute aide est appréciée. :)
Essaye ça:
$app = JFactory::getApplication();
$jinput = $app->input;
$filter = $jinput->getVar('filter',array());
J'espère que ça marche pour toi
J'ai mal lu ou mal compris la documentation de $jinput->getArray()
. J'ai compris que cela retournait un sous-ensemble des variables d'entrée, comme spécifié dans un tableau des variables qui vous intéressent. Bien que cela puisse être vrai, elle renverra également tout variable d'entrée si un tableau vide est fourni:
$allfields = $jinput->getArray(array())
Je viens de déconner un peu avec cela.
Essayez d’ajouter une valeur par défaut vierge et filtre comme arguments, comme ceci:
$test2 = $jinput->get('filter', '', 'RAW');