Moodle自定义表单更新



我在Moodle中创建了自定义表单,并将数据插入Moodle数据库。此外,我使用了表单中的大部分字段作为自动完成,如下面的

$mform->addElement('autocomplete', 'SBName', get_string('searcharea', 'search'), $sbnames, $options);

然后,我需要更新此表单。我从数据库中获得了一个数组的记录,然后我需要在更新表单中添加数据库值以继续操作。

在这里,我无法在编辑表单中填充自动完成$mform字段的值->addElement('autocomplete.

请帮助应用编辑表单中的值。

请让我知道在moodle 中有什么方法可以做到这一点吗

需要注意的几件事-在Moodle中,变量和数据库字段名称都应该是小写的,所以如果您调用字段"sbname"而不是"sbname",您会发现事情会更容易。

你提到你有";从数据库获得作为数组的记录"-Moodle数据库访问函数中没有一个以数组形式返回记录,它们都以对象形式返回记录(尽管它们将以对象数组形式返回多个记录(-如果记录以数组形式到达,请仔细检查用于检索记录的代码。

最后,要在编辑表单时初始化值,通常的方法是(在表单本身之外(写入:

$form = new name_of_form();
$form->setData($recordfromdatabase);

其中$recordfromdatabase是由$DB->get_record_*函数。

之后,您可以使用$表单->getData((函数来检索提交的值和$form->display((来显示窗体本身。

Moodle核心代码中有很多示例,您可以遵循这些示例。

最新更新