如何在Moodle注册表单中添加字段和更改必填字段?

问题描述 投票:0回答:1

作为开发人员,我有一个 Moodle 项目,我想更改注册表单以使其更简单。基本上,我想删除用户名字段并将其替换为全名字段,并添加非强制性的电话号码字段(必需)并删除所有其他不必要的字段或至少将它们设置为不需要

我使用CSS隐藏了一些不必要的功能,但我想要一些更实用的功能,并且想知道我需要更改哪些文件才能在后端进行更改,以便在用户注册时它按预期工作。 任何有关这方面的帮助/建议将不胜感激!

php html forms moodle mustache
1个回答
0
投票

Moodle 核心中有一个钩子可以处理这个问题。

创建一个插件(可能是“local”插件)并确保其 lib.php 具有函数

local_myplugin_extend_signup_form()
(其中“local_myplugin”是插件的 Frankenstyle 名称)。

在此函数内,您可以使用传入的 $mform 实例来调用

$mform->addElement()
$mform->insertElementBefore()
$mform->removeElement()
等函数来修改现有表单。

您可能需要使用

local_myplugin_post_signup_requests()
修改数据,使其与表单中的预期数据匹配(您将需要生成某种“用户名”字段),以及使用
local_myplugin_validate_extend_signup_form()
调整验证(因为提交通常会进行验证以确保用户名存在)。

© www.soinside.com 2019 - 2024. All rights reserved.