在我们的 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;
哪个似乎对默认值没有任何影响?
答案 0 :(得分:1)
尝试设置:
$mform->setDefault('perpage', -1);
编辑: 似乎这个设置被php代码覆盖了。在mod / assign / locallib.php中搜索:
$perpage = get_user_preferences('assign_perpage', 10);
更改为:
$perpage = get_user_preferences('assign_perpage', -1);