很高兴moodle能够使用与网站其他部分不同的主题来创建特定课程。但是现在当有人收到具有特定主题集的课程内容的链接时,Moodle首先将他重定向到全球主题的登录页面,然后将他重定向到具有特定主题的课程。而这种主题的变化并不是很方便。我想在全球主题中也有这个登录页面。
经过研究,我发现没有可用的解决方案,而且我需要调整代码。
我认为可能的解决方案是使用$SESSION->wantsurl
,检测网址何时进入具有特定主题的课程,然后提供不同的登录页面。
但问题是缺乏文档,我实在找不到这些概念的解释。我不知道Moodle文件中的哪个文件我应该添加此异常,放置位置以及如何复制新的登录页面。我想我可以管理在php中编写代码。
Moodle版本是2.8.3。
如果您能为我提供解决此问题的指南和参考资料,感谢您。
答案 0 :(得分:1)
您可以通过向网址添加所需主题来解决此问题。
首先将其添加到您的config.php
$CFG->allowthemechangeonurl = true;
然后将其添加到任何链接
http://www.yourmoodlesite.com/?theme=yourthemename
供参考:
https://docs.moodle.org/28/en/Theme_settings#Allow_theme_changes_in_the_URL
更新:你可以在任何输出之前使用它。
$PAGE->force_theme($themename);
然后就像你说的那样,检查$ SESSION-> wanturl看看它的课程页面是否会得到课程主题。