Theme config file

Jump to: navigation, search

Note: You are currently viewing documentation for Moodle 1.9. Up-to-date documentation for the latest stable version is available here: Theme config file.



The theme config.php file contains configuration variables that control how Moodle uses a specific theme.

User styles

$THEME->sheets = array('user_styles');

This variable is an array containing the names of all the style sheet files you want included in this theme, and in what order

Standard sheets

$THEME->standardsheets = array('styles_layout');

This variable can be set to an array containing file names from the *STANDARD* theme. If the array exists, it will be used to choose the files to include in the standard style sheet. When false, then no files are used. When true or NON-EXISTENT, then ALL standard files are used. This parameter can be used, for example, to prevent having to override too many classes. Note that the trailing .css should not be included e.g.:

$THEME->standardsheets = array('styles_layout','styles_fonts','styles_color');

Parent

$THEME->parent = '';

This variable can be set to the name of a parent theme which you want to have included before the current theme. This can make it easy to make modifications to another theme without having to actually change the files If this variable is empty or false then a parent theme is not used.

Parent sheets

$THEME->parentsheets = false;

This variable can be set to an array containing file names from a chosen *PARENT* theme. If the array exists, it will be used to choose the files to include in the standard style sheet. When false, then no files are used. When true or NON-EXISTENT, then ALL standard files are used. This parameter can be used, for example, to prevent having to override too many classes. Note that the trailing .css should not be included e.g.:

$THEME->parentsheets = array('styles_layout','styles_fonts','styles_color');

Mod sheets

$THEME->modsheets = true;

When this is enabled, then this theme will search for files named "styles.php" inside all Activity modules and include them. This allows modules to provide some basic layouts so they work out of the box. It is HIGHLY recommended to leave this enabled.

Block sheets

$THEME->blocksheets = true;

When this is enabled, then this theme will search for files named "styles.php" inside all Block modules and include them. This allows Blocks to provide some basic layouts so they work out of the box. It is HIGHLY recommended to leave this enabled.

Lang sheets

$THEME->langsheets = false;

By setting this to true, then this theme will search for a file named "styles.php" inside the current language directory. This allows different languages to provide different styles.

Course format sheets

$THEME->courseformatsheets = true;

When this is enabled, this theme will search for files named "styles.php" inside all course formats and include them. This allows course formats to provide their own default styles.

Meta include

$THEME->metainclude = true;

When this is enabled (or not set!) then Moodle will try to include a file meta.php from this theme into the <head></head> part of the page.

Standard meta include

$THEME->standardmetainclude = true;

When this is enabled (or not set!) then Moodle will try to include a file meta.php from the standard theme into the <head><head> part of the page.

Parent meta include

$THEME->parentmetainclude = false;

When this is enabled (or not set!) then Moodle will try to include a file meta.php from the parent theme into the <head><head> part of the page.

Nav menu width

$THEME->navmenuwidth = 50;

You can use this to control the cutoff point for strings in the navmenus (list of activities in popup menu etc) Default is 50 characters wide.

Make nav menu list

$THEME->makenavmenulist = false;

By setting this to true, then you will have access to a new variable in your header.html and footer.html called $navmenulist ... this contains a simple XHTML menu of all activities in the current course, mostly useful for creating popup navigation menus and so on.

Chameleon enabled

$THEME->chameleonenabled = false;

By setting this to true it enables editing of the stylsheets. It is recommended to set this to false again once you're satisfied with your theme.

Chameleon teacher edit enabled

$THEME->chameleonteachereditenabled = false;

If you use chameleon as a course theme setting this to true will allow teachers on that course to edit the theme.

Resource mp3 player colors

$THEME->resource_mp3player_colors = 
 'bgColour=000000&btnColour=ffffff&btnBorderColour=cccccc&iconColour=000000&'.
 'iconOverColour=00cc00&trackColour=cccccc&handleColour=ffffff&loaderColour=ffffff&'.
 'font=Arial&fontColour=3333FF&buffer=10&waitForPlay=no&autoPlay=yes';

With this you can control the colours of the "big" MP3 player that is used for MP3 resources.

Filter media plugin colors

$THEME->filter_mediaplugin_colors = 
 'bgColour=000000&btnColour=ffffff&btnBorderColour=cccccc&iconColour=000000&'.
 'iconOverColour=00cc00&trackColour=cccccc&handleColour=ffffff&loaderColour=ffffff&'.
 'waitForPlay=yes';

This controls the small embedded player

Custom pix

$THEME->custompix = true;

If true, then this theme must have a "pix" subdirectory that contains copies of all files from the moodlepix directory, plus a "pixmod" directory containing all the icons for all the activity modules.

Sideblock width

Moodle1.8

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

$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
/// sideblocks in the course pages. If not set or false the standard 
/// values are taken.

Change column order

Moodle1.8

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

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

See also