it-swarm.com.de

Wie bekomme ich ein Array von jInput richtig?

Möglicherweise sind die Augen müde, aber ich kann ein bereitgestelltes Array nicht von jInput abrufen:

$jinput = JFactory::getApplication()->input;
$test1 = $jinput->get('Itemid');
$test2 = $jinput->get("filter");
$test3 = $jinput->get("filter['subjects']");

$test1 ruft die Itemid erfolgreich ab, aber verschiedene Methoden zum Abrufen von 'filter' führen immer nur zu einem leeren -Array.

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

Es macht mir nichts aus, mich an dieser Stelle für ein Versehen dumm zu fühlen, ich bin es einfach leid, damit zu kämpfen. Jede Hilfe wird geschätzt. :)

2
GDP

Versuche dies:

$app        = JFactory::getApplication();
$jinput     = $app->input;
$filter     = $jinput->getVar('filter',array());

Ich hoffe, es funktioniert für Sie

3
Piero Marsilio

Ich habe die Dokumentation von $jinput->getArray() falsch verstanden oder falsch verstanden. Ich habe verstanden, dass dies eine Teilmenge der Eingabevariablen zurückgibt, wie in einem Array der Variablen angegeben, an denen Sie interessiert sind. Auch wenn dies zutrifft, gibt es auch all Eingabevariable zurück, wenn ein leeres Array vorhanden ist ist versorgt:

$allfields = $jinput->getArray(array())
3
GDP

Hab nur ein bisschen rumgespielt.

Versuchen Sie, einen leeren Standardwert hinzuzufügen, und geben Sie filter als Argument ein, wie folgt:

$test2 = $jinput->get('filter', '', 'RAW');
2
Lodder