Форма Moodle: отсутствует обязательный параметр
Я добавил выпадающий список в Question Editing form
с помощью следующего кода в definition()
функция edit_question_form.php
:
$mform -> addElement('select', 'qtype', 'Choose type', array('optionOne' => 'Value Option One', 'optionTwo' => 'Value Option Two', 'optionThree' => 'valueOptionThree'), array('id'=>'id_dropdown'));
$mform->addRule('qtype', get_string('error'), 'required', 'server'(default), false, false);
И действие этой формы указывает на question.php, поэтому в question.php я добавил следующее утверждение:
$qtypeq = required_param('qtype', PARAM_TEXT);
Но я получаю следующую ошибку:
Обязательный параметр (qtype) отсутствует
Судя по всему это не пропало.
Кто-нибудь может подсказать, почему я получаю эту ошибку и что я могу сделать, чтобы исправить ее?
1 ответ
Первым шагом, который я предпринял бы, было бы открыть инструменты разработчика в моем браузере, переключиться на вкладку "сеть", а затем проверить, какие именно параметры отправляются при отправке формы.
Если параметр "qtype" определенно присутствует в этой точке, то следующим шагом будет добавление "var_dump($_REQUEST);" непосредственно перед строкой required_param (при этом будут выведены все параметры, отправленные на страницу с помощью get или post).
Если это не проливает свет на то, что происходит, то следующее, что нужно сделать, это установить xdebug и настроить IDE для работы с ним. Затем вы можете прикрепить точку останова к строке 'required_param', пройтись по ней и точно увидеть, что идет не так (в качестве отступления, даже если вам это не нужно на этот раз, все равно установите xdebug, так как это очень поможет в будущее).