我认为我正在做一些愚蠢的事情......我一直在关注覆盖渲染器的教程并且有一个谷歌但无法解决它。 (当我发现另一个stackoverflow question时我很有希望,但它没有帮助)
我正在尝试覆盖模块(studentquiz)的渲染器,但它似乎没有工作。
以下是我到目前为止所做的...我只是复制并粘贴了一个函数,然后从中删除了几行 - 期望在清除缓存后看到更改,但什么也没发生。尝试了各种设置,但没有任何工作。
非常感谢任何帮助!
非常感谢
奥利
/theme/THEMENAME/config.php有一行:
$THEME->rendererfactory = 'theme_overridden_renderer_factory';
/theme/THEMENAME/renderers.php如下:
<?php
defined('MOODLE_INTERNAL') || die;
include_once($CFG->dirroot . "/mod/studentquiz/renderer.php");
class theme_THEMENAME_mod_studentquiz_renderer extends mod_studentquiz_renderer {
// place your overridden methods (functions) here.
public function render_stat_block($report) {
...
}
}
我正在从函数中删除以下行:
. html_writer::div($this->render_progress_bar($info2), '', array('style' => 'width:inherit'))
. html_writer::div(get_string('statistic_block_approvals', 'studentquiz')
.html_writer::span('<b>' .$userstats->questions_approved .'</b>', '',
array('style' => 'float: right;color:#28A745;')))
. html_writer::div(get_string('statistic_block_created', 'studentquiz')
.html_writer::span('<b>' .$userstats->questions_created .'</b>', '',
array('style' => 'float: right;')))
答案 0 :(得分:0)
将config.php中的渲染器工厂更改为:
$THEME->rendererfactory = 'theme_THEMENAME_renderer_factory';
需要反映主题的frankenstyle名称