定制moodle注册表单

时间:2016-09-28 10:11:10

标签: php moodle

我需要在moodle注册表单中添加附件输入 moodle通过标准user profile fields不支持此文件输入。

所以我尝试手动添加它:
我补充说:

$mform->addElement('file', 'attach', "Attach", null,array( 'accepted_types' => 'pdf'));
$mform->setType('attach', PARAM_RAW);
$mform->addRule('attach', 'Missing File Attachment', 'required', null, 'client');

但是我应该告诉Moodle将该值插入数据库?

1 个答案:

答案 0 :(得分:0)

您应该首先添加自定义用户个人资料字段,如here所述。在这里,您应该覆盖函数profile_save_data($usernew),告诉系统要保存文件的位置。
如果你想学习如何从表格中获取文件并保存,你可以去here。特别是,您可以使用filepicker表单元素替换旧的file元素

$mform->addElement('filepicker', 'userfile', get_string('file'), null,
                   array('maxbytes' => $maxbytes, 'accepted_types' => 'pdf'));


获取文件内容和文件名,并将其存储为:

$content = $mform->get_file_content('userfile');
$name = $mform->get_new_filename('userfile');
$success = $mform->save_file('userfile', $fullpath, $override);

其中$fullpath是文件系统中的路径(例如moodledata文件夹),$override是布尔意义“覆盖文件,如果存在”。
免责声明:我自己没有尝试过这个解决方案。