Theme settings

Revision as of 08:07, 8 February 2008 by Urs Hunkler (talk | contribs) (Change column order)

Jump to: navigation, search

Location: Administration > Appearance > Themes > Theme settings


Theme settings

  • themelist - This lists the themes available for course and user themes. Leave this blank to allow any valid theme to be used. If you want to shorten the theme menu, you may specify a comma-separated list of names, though don't use spaces (e.g. standard,orangewhite).
  • allowuserthemes - If you enable this, then users will be allowed to set their own themes. User themes override site themes but not course themes.
  • allowcoursethemes - If you enable this, then teachers will be able to set their own course themes. Course themes override all other theme choices (site, user, or session themes).
  • allowcategorythemes - If you enable this, then themes can be set at the category level. This will affect all child categories and courses unless they have specifically set their own theme. WARNING: Enabling category themes may affect performance.
  • allowuserstohideblocks- Allows users to display and hide blocks
  • showblocksonmodulepage -If activity module allows blocks, this will enable a pulldown list.
  • allowcategorythemes - If you enable this, then themes can be set at the category level (from Moodle 1.9 onwards).

Theme types

Site themes

Site themes may be previewed and chosen via Administration >> Configuration >> Themes.

User themes

If the option allowuserthemes is enabled, each user may select their preferred theme on the Edit profile page. All Moodle pages will be displayed in the user's theme, apart from courses where a course theme has been set.

Course themes

If the option allowcoursethemes is enabled, each editing teacher may select their course theme via the Force theme option on the Course settings page. The course will always be displayed in the theme specified in the course setting, with user and the site themes being overwritten.

Category themes

Template:Moodle 1.9In Moodle 1.9 onwards, category themes may be set. There is an admin setting to turn this feature on/off under "Site Administration/Appearance/Themes/Theme settings". It is off by default as it does take a bit of processing overhead. If it is switched on then you will be able to select a theme when editing categories. The theme will then apply to all courses in that category or child categories and the category page itself.

Session themes

Moodle offers an additional way to set a theme - the session theme. This is set with the URL and lasts until you log out. When you next login, the site/course/user themes are active again. This option is great for theme testing and works perfectly when you want to enable different themes for different situations.

For example you can offer a special link for PDA users and integrate the session theme orangewhitepda in that link. Nobody needs to change any settings, you just click on that link. The session theme is called by the URL parameter
&theme=orangewhitepda
. The whole URL without the session theme could look like
http://mymoodlesite.org/course/view.php?id=18
and with the parameter for the PDA theme like
"http://mymoodlesite.org/course/view.php?id=18&theme=orangewhitepda"
. In a standard Moodle installation, session themes are not active. To activate them the administrator must add the parameter
$CFG->allowthemechangeonurl = true;
to the Moodle config.php file in the Moodle base directory.

Page theme

A page theme is for special page-only themes set by code.

Theme overview

Theme type Overwrites Display Setting type
Site - all pages* saved in theme profile
User Site theme all pages* saved in user profile
Course Site, user and session themes one course saved in course profile
Session Site and user themes all pages* temporary until logout

(* except courses with the course theme set)

Sideblock width

Template:Moodle 1.8When you need to define the side column width for your themes you can add the following settings to your theme config.php.

<pre>
$THEME->block_l_min_width = 148;
$THEME->block_l_max_width = 148;
$THEME->block_r_min_width = 260;
$THEME->block_r_max_width = 260;

/// These values define the min and max width of the left and right
/// sibelocks in the course pages. If not set or false the standard 
/// values are taken.
</pre>

Change column order

Template:Moodle 1.8When you need to change the column order for your themes you can add the following settings to your theme config.php.

<pre>
$THEME->layouttable = array('left', 'right', 'middle');

/// These values define the order of the columns for all
/// pages showing sideblocks. If not set Moodel uses the 
/// default order:
/// $THEME->layouttable = array('left', 'middle', 'right');
</pre>

Theme priority

Template:Moodle 1.9In Moodle 1.9 onwards, the priority of themes can be set. The order defines which theme wins when there are several set at different levels. You can set a variable in config.php called $CFG->themeorder (see config-dist.php for more details). By default it is set to:

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

Hide activity type navigation

Template:Moodle 1.9In Moodle 1.9 onwards, the activity type (e.g. Quizzes) crumb in the navigation bar may be hidden from students or all users.

See also