Allow theme change by URL

From MoodleDocs

Site Administration > Appearance > Themes > Theme settings

Enabling this setting in Moodle 2.0+ themes allows you to change theme by adding either ?theme= or &theme= (followed by the theme name you wish to change to) depending on where you are at the time you want to swap to another theme.

The name of theme you put in the url parameter is the shortname of the theme. You can find this by going to Site administration > Plugins > Plugins overview page to the Themes section. The shortname of a theme is below the theme name: take the part after the underscore.

For example, for theme_boost use the shortname boost. For theme_classic use classic, and so forth. (This shortname is the same as the module name.)

Usage

For Example: If you are at the front page of your site then add ?theme=

http://localhost/moodle311/?theme=adaptable

after clicking the Enter tab on your keyboard. this will change from your present theme to the Essential theme layout, providing or course that you have that theme installed in your Moodle site.

Alternatively if you are in a course page then add &theme=

http://localhost/moodle311/course/view.php?id=3&theme=adaptable

will change theme to Adaptable after clicking the Enter tab on your keyboard.


Notes

  • The session level theme will persist until either
    • you log out and the session ends
    • or you manually change the url to another theme during the same session
  • You can switch to a Session level theme any time after you are logged in: so you can log in with the default theme then switch to a Session level theme directly without logging out
  • When you log out, your session ends so you will then see the default site theme once again, not the Session theme
  • The hierarchy of theme contexts applies to session level themes so sometimes it may not appear to work if a course or category has a theme set, since it takes precedence over the Session theme