在我们的Moodle安装中,有插件Assignemnt,我们可以在其中获得课程中所有参与者的列表,因此我们可以根据作业对他们进行评分。 在表格中,默认情况下始终显示 10 人,并且有选项,我们可以选择一次查看所有内容,每页 10、20、50 或100人。
代码在gradingoptionsform.php:
$options = array(-1=>get_string('all'), 10=>'10', 20=>'20', 50=>'50', 100=>'100');
$mform->addElement('select', 'perpage', get_string('assignmentsperpage', 'assign'), $options, $dirtyclass);
我尝试了$mform-setDefault('perpage', 'all')
但没有奏效。
我错过了什么?
在gradingtable.php
有:
class assign_grading_table extends table_sql implements renderable {
/** @var assign $assignment */
private $assignment = null;
/** @var int $perpage */
private $perpage = 10;
哪个似乎对默认值没有任何影响?
尝试设置:
$mform->setDefault('perpage', -1);
编辑: 此设置似乎被 php 代码覆盖。在mod/assign/locallib中搜索.php :
$perpage = get_user_preferences('assign_perpage', 10);
更改是:
$perpage = get_user_preferences('assign_perpage', -1);