Я думаю, что делаю что-то глупое … Я следовал учебнику по переопределению рендеров и имел Google, но не могу решить это. (Я надеялся, когда я нашел это другое stackoverflow вопрос но это не помогло)
Я пытаюсь переопределить рендер для модуля (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;')))
Чтобы удалить последний индикатор выполнения и две строки из этого:
Измените фабрику рендерера в config.php на:
$THEME->rendererfactory = 'theme_THEMENAME_renderer_factory';
Это должно будет отражать имя Франкенстиль вашей темы
Других решений пока нет …