在Moodle中,我设置了,我通过单点登录接收新用户,这些用户应该为他们获取特定的主题集。此主题不是默认主题,其他用户可以注册该网站(他们不是通过SSO进入)并且不应该获得此主题,因此我无法将其设置为默认主题。
如何通过SSO登录时,如何将主题设置为用户的首选主题或默认主题?
我认为此设置存储在数据库中,但我无法在那里找到它。 我在用户表中找到了一列主题,但设置主题却没有做任何事情。 我还查看了表格 user_preferences ,但在为特定用户更改主题后,我找不到有关该主题的任何记录。
有人知道数据库中存储的位置或者我如何为特定用户设置默认主题吗?
更新:
用户可以更改自己的主题
我将themename存储在数据库的列中(clean,not theme_clean)。
答案 0 :(得分:0)
您可能需要启用用户主题 - allowuserthemes
转到网站管理员 - >外观 - >主题 - >主题设置
或直接发送到/admin/settings.php?section=themesettings
更新:
如何将名称存储在theme
列中?它应该是mytheme而不是theme_mytheme。
如果这是正确的,请尝试更改主题顺序:在config.php
添加
$CFG->themeorder = array('user', 'course', 'category', 'session', 'site');
您需要退出并登录才能更新主题订单。
如果以上都不起作用,那么我会在登录后执行var_dump($USER)
以查看theme
是否已正确更新。或者启动调试器并逐步完成function resolve_theme()
/lib/pagelib.php