我想将“报告页面”上的主题更改为经典,而 Moodle 的其余部分仍保留在我的主主题上,即 moove。
我尝试了两种不同的方法:
1 - 从主主题文件夹内的 config.php 更改 $THEME->layouts 内的“report”部分,如下所示:
$THEME->layouts = [
'report' => [
'file' => 'report_theme.php',
'regions' => ['side-pre'],
'defaultregion' => 'side-pre',
],
];
在我更改它之前,它不是“report_theme.php”,而是“drawers.php”。我做的唯一一件事就是从经典主题的抽屉.php 中获取代码并将其粘贴到“report_theme.php”中,这是我在“moodle/theme/moove/layout”中创建的文件。它什么也没做,它继续了 moove 主题。
2 - 我尝试启用允许从 url 更改主题的选项,同时更改“moodle/reportbuilder/”上的 url。
首先,它是:
admin_externalpage_setup('customreports', null, ['id' => $reportid], new moodle_url('/reportbuilder/edit.php'));
navigation_node::override_active_url(new moodle_url('/reportbuilder/index.php'));
然后我把它改为:
$theme_report='&theme=classic';
admin_externalpage_setup('customreports', null, ['id' => $reportid], new moodle_url('/reportbuilder/edit.php' . $theme_report));
navigation_node::override_active_url(new moodle_url('/reportbuilder/index.php' . $theme_report));
它也没有做任何事情。
关于如何做到这一点有什么想法吗?抱歉,如果我提供的解决方案很愚蠢,我对此还比较陌生。 Moodle 版本:4.3.2
尝试为特定页面强制使用主题
$PAGE->force_theme('classic');