2016-02-13 42 views
0

在Moodle中,我已經設置好了,我通過一個登錄接收新用戶,這些用戶應該爲他們設置一個特定的主題。此主題不是默認主題,其他用戶可以註冊該網站(他們不通過SSO進入),並且不應該獲得此主題,因此我無法將其設置爲默認主題。在Moodle中爲用戶設置主題

如何在用戶通過SSO登錄時將主題設置爲首選或默認主題?

我會認爲這個設置存儲在數據庫中,但我找不到它。 我在用戶表中發現了一列主題,但是在那裏設置主題沒有任何作用。 我也看過表user_preferences但我沒有找到任何關於該主題的記錄後,我改變了一個特定的用戶。

是否有人知道數據庫中存儲的位置或者我可以如何爲特定用戶設置默認主題?

更新:
用戶可以更改自己的主題。
我在數據庫的列中存儲了主題名(clean,NOT theme_clean)。

回答

0

你可能需要啓用用戶的主題 - allowuserthemes

轉到站點管理員 - >外觀 - >主題 - >主題設置

或直接到/admin/settings.php?section=themesettings

更新:

如何在theme列中存儲名稱?它應該是mytheme而不是theme_mytheme。

如果這是正確的,那麼請嘗試更改主題順序:在config.php添加

$CFG->themeorder = array('user', 'course', 'category', 'session', 'site'); 

你需要註銷並重新登錄在要更新的themeorder。

如果以上都不行,那麼我會在登錄後執行var_dump($USER)以查看theme是否已正確更新。或在/lib/pagelib.php

+0

這已經啓用 – nhalink

+0

的$ USER對象已經存在在那裏我看到我必須要改變的主題來看,我試着將它添加到$ USER對象但沒有按」開始通過function resolve_theme()調試器和步進不管工作。 – nhalink

+0

你可以通過函數resolve_theme()來查看發生了什麼。 –