我想限制测验的时间,只允许在上午11点到下午5点之间设置时间。
我找到了这一行: 的 LIB /形式/ datetimeselector.php 在函数_createElement上,第120行:我将值23更改为11
现在开放时间选项限制为11,但这也影响了收盘时间。
它也影响了所有模块。
请指出我正确的地方修改时间选项。
感谢。
答案 0 :(得分:0)
好的,我找到了解决方案
lib/form/datetimeselector.php
复制到2个新副本中,并将这2个副本重命名为datetimeselector_quizopen.php
和datetimeselector_quizopen.php
for loop
的值。lib/formslib.php
(第3227行)mod/quiz/mod_form.php
中,将元素名称从date_time_selector
更改为date_time_selector_quizopen
(第86行)和date_time_selector_quizclose
(第90行)lib/form
并复制datetimeselector.php
- 2份datetimeselector_quizopen.php
datetimeselector_quizclose.php
datetimeselector_quizopen.php
中,将班级名称从MoodleQuickForm_date_time_selector
重命名为MoodleQuickForm_date_time_selector_quizopen
(第42行)public function MoodleQuickForm_date_time_selector
重命名为公共function MoodleQuickForm_date_time_selector_quizopen
(第115行)for ($i = 0; $i <= 23; $i++) {
更改为for ($i = 11; $i <= 16; $i++) {
(第131行)datetimeselector_quizclose.php
中,将班级名称从MoodleQuickForm_date_time_selector
重命名为MoodleQuickForm_date_time_selector_quizclose
(第42行)public function MoodleQuickForm_date_time_selector
重命名为公共function MoodleQuickForm_date_time_selector_quizclose
(第115行)for ($i = 0; $i <= 23; $i++) {
更改为for ($i = 11; $i <= 16; $i++) {
(第131行)转到文件lib / formslib.php,第3227行 - 或搜索MoodleQuickForm::registerElementType('date_time_selector'
- 添加此代码:
MoodleQuickForm :: registerElementType('date_time_selector_quizopen',“$ CFG-&gt; libdir / form / datetimeselector_quizopen.php”,'MoodleQuickForm_date_time_selector_quizopen'); MoodleQuickForm :: registerElementType('date_time_selector_quizclose',“$ CFG-&gt; libdir / form / datetimeselector_quizclose.php”,'MoodleQuickForm_date_time_selector_quizclose');
转到mod/quiz/mod_form.php
第86行,从$mform->addElement('date_time_selector', 'timeopen',
更改为$mform->addElement('date_time_selector_quizopen', 'timeopen',
$mform->addElement('date_time_selector', 'timeclose',
更改为$mform->addElement('date_time_selector_quizclose', 'timeclose',