Помогите разобраться с вопросом. Создаю плагин для активности в moodle. Как я понял, для добавления и сохранения параметров активности в базе (точнее реализации формы для ввода параметров) используется файл mod_form.php, а функции создания, обновления и удаления прописываются в файле lib.php
Предположим, я создал такую форму (показана только часть) и в ней есть элемент select
mod_form.php:
class mod_pluginname_mod_form extends moodleform_mod {
public function definition() {
$mform = $this->_form;
$fieldname = 'general';
$mform->addElement('header', $fieldname, get_string($fieldname, 'form'));
$fieldname = 'name';
$mform->addElement('text', $fieldname, get_string('name'), array('size' => '64'));
if (!empty($CFG->formatstringstriptags)) {
$mform->setType($fieldname, PARAM_TEXT);
} else {
$mform->setType($fieldname, PARAM_CLEANHTML);
}
$mform->addRule($fieldname, get_string('required'), 'required', null, 'client');
$mform->addRule($fieldname, get_string('maximumchars', '', 255), 'maxlength', 255, 'client');
$mform->addHelpButton($fieldname, 'pluginname', 'pluginname');
// Adding the standard "intro" and "introformat" fields.
$this->standard_intro_elements(get_string('moduleintro'));
$fieldname = 'maxentries';
$maxentries = 10;
$countoptions = range(1, $maxentries);
$mform->addElement('select', $fieldname, get_string($fieldname, 'mod_pluginname'), $countoptions);Функция обновления компонента в lib.php:
$mform->addHelpButton($fieldname, $fieldname, 'pluginname');
/**
* @param object $pluginobject
* @param mod_pluginname_mod_form $mform
* @return boolean Success/Fail
*/
function pluginname_update_instance($pluginobject, $mform) {
global $DB;
$emiassurveypro->timemodified = time();
$DB->update_record('plugintable', $pluginobject);
return true;
}
Так вот основной вопрос заключается в том, а как мне в функции pluginname_update_instance получить значение элемента select, который установлен в mod_form.php для того, чтобы при обновлении сохранить его в базу?