如何在 moodle 的 settings.php 页面上添加按钮?

How can I add a button on settings.php page in moodle?

所以我有一个 activity 模块,我想在 settings.php 页面上添加一个按钮,单击该按钮会在 locallib.php 中运行特定功能,我已经查看了 adminlib.php 查看我的选项,但除了使用每次保存后都会自行重置的复选框外,找不到任何我可以使用的东西,但我不知道这是否是个好主意,也不知道我是否可以实际去做。

我试过这个:

    $link = "<a href=".$_SERVER['SERVER_NAME']."/moodle/mod/game/clear.php" . " class='btn btn-danger'>Empty all results</a>";
    $settings->add(new admin_setting_heading('modemptydb', get_string('modemptydb', 'game'), $link));

按钮转到 http://localhost/moodle/admin/localhost/moodle/mod/game/clear.php 而不是 http://localhost/moodle/mod/game/clear.php

我建议您使用 admin_setting_heading() 对象,并在其中创建一个 link(可以将样式设置为按钮,使用 Bootstrap 类 "btn btn-secondary") links 到将调用您的函数的页面,然后重定向回设置页面。

我经常做类似的事情,例如如果管理员为外部服务器输入了一些登录详细信息,那么我可能有 link 来测试连接是否正常。

您可能需要在页面上发出警告,提示用户在单击按钮之前需要确保保存所有更改。