在Moodle表单中设置默认值

时间:2016-06-16 12:54:53

标签: php forms moodle

在我们的 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;  

哪个似乎对默认值没有任何影响?

1 个答案:

答案 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);