Joomla 3.0 JFactory::getApplication() get всегда возвращает null

Я пытаюсь извлечь данные массива из вложенного массива (показан как часть var_dump):

["passcodes"]=> array(2) { 
    [0]=> array(1) { 
            [0]=> string(33) "pAWn78hI2Uw5FA9iSGVuAkvISM0LTWL9X" 
        } 
    [1]=> array(1) { 
            [0]=> string(33) "dfS7VHqEXmcSkBubESaA0mIt8rEy2fSWE" 
        } 
}

Со следующим PHP:

<?php
$app = JFactory::getApplication();
$input = $app->input;

$codes= $input->get('passcodes',array(),'array');

echo "*********** ".$codes." **********";
print_r($codes);
var_dump($codes);
var_dump($input);
?>

^^ Я не могу понять, как понять объявление для $codes, оно всегда равно null и имеет размер 0.


person user3005511    schedule 18.11.2013    source источник
comment
Откуда берется этот массив (тот, который вы разместили вверху)?   -  person McRui    schedule 19.11.2013
comment
Fabrik Form, это от onbeforeprocess; Мне нужно манипулировать данными, прежде чем они будут сохранены   -  person user3005511    schedule 19.11.2013
comment
Хорошо, но как вы смогли получить этот массив? Ты вар скинул откуда?   -  person McRui    schedule 19.11.2013
comment
Я использую Joomla! компонент Фабрик. У меня есть форма, в которой пользователь вводит/выбирает. Когда пользователи отправляют форму, все сохраняется в таблицах MYSQL. Это работает без проблем. Fabrik позволяет мне запускать скрипт для данных формы до того, как они будут сохранены в MYSQL. Он вызывает мой собственный PHP-скрипт. Например, я могу получить имя пользователя с помощью JFactory::getUser(), я могу получить элементы формы с помощью $input-›get('user_entered_item','','string'); --- Но этот массив в (дампе) ускользает от меня.   -  person user3005511    schedule 19.11.2013
comment
Сам массив в приведенной выше цитате кода я получаю из: var_dump($input); В самой форме много элементов, поэтому я процитировал одну часть var_dump, чтобы сделать вопрос короче.   -  person user3005511    schedule 19.11.2013


Ответы (1)


Вместо $input->get('passcodes',array(),'array') попробуйте:

$vars   = 'passcodes'; // Associative array of keys and filter types to apply
$source = 'youArrayName'; // Array to retrieve data from 
$codes  = $input->getArray(array $vars, $source);
person McRui    schedule 18.11.2013