Note: You are currently viewing documentation for Moodle 1.9. Up-to-date documentation for the latest stable version is available here: 1.5 theme upgrade.

1.5 theme upgrade: Difference between revisions

From MoodleDocs
m (cat edit)
 
(48 intermediate revisions by 21 users not shown)
Line 1: Line 1:
== Upgrading Your Theme from Moodle 1.4 to 1.5 ==
{{Themes}}
 
From Moodle version 1.5 and higher CSS support is extended throughout Moodle to remove hardcoded styles e.g. fonts or colours, from the HTML code. As a result, Moodle themes are a lot more flexible and accessible, but this also means that custom themes written for Moodle version 1.4.x and earlier may no longer work well.
In Moodle 1.5 a lot of work has been done to extend the CSS support to all parts of Moodle and to remove any old hardcoded styles (such as fonts or colors) from the HTML code.   As a result Moodle themes are a lot more flexible and accessible, but this also means that custom themes written for Moodle 1.4 and earlier no longer work very well.


The best approach when upgrading is to reconstruct your theme again from scratch, borrowing graphics and styles from your old theme as necessary.  This approach will result in a more robust theme that will survive future upgrades of Moodle.
The best approach when upgrading is to reconstruct your theme again from scratch, borrowing graphics and styles from your old theme as necessary.  This approach will result in a more robust theme that will survive future upgrades of Moodle.
Line 7: Line 6:
The instructions below therefore apply whether you are upgrading or not.
The instructions below therefore apply whether you are upgrading or not.


== Get Firefox and install the "Web Developer Extension" ==
== Upgrade or install Moodle 1.5 or higher ==
 
Install Moodle as normal. If you are upgrading, your old theme directory will remain, but the installation process will set the theme to the new default ''standardwhite''.


The [http://chrispederick.com/work/firefox/webdeveloper/ Web Developer Extension] is an excellent tool for examining the structure of web pages and the underlying code.  This tool is extremely useful when creating new Moodle themes.
== Create a new theme directory ==


Use the "Information" menu in it to see the class names for different elements of Moodle pages. Use the "CSS/Edit CSS" menu in it to try new CSS properties and see directly the changes in the page.
Themes are all stored in the ''theme'' directory of Moodle.


To create a new theme directory, make a copy of the ''standardwhite'' directory (or any other theme) and name it appropriately.


== Upgrade or Install Moodle 1.5 ==
Inside this new directory you will see the following files.


Install Moodle 1.5 as normal. If you are upgrading, your old theme directory will be kept, but the installation process will set the theme to the new default: '''standardwhite'''
:''config.php''  - edit this to change parameters for your theme
:''favicon.ico'' - the site icon that shows in the browser location bar or bookmarks
:''header.html'' - a fragment of HTML that defines the top of your pages
:''footer.html'' - a fragment of HTML that defines the bottom of your pages
:''gradients.css'' - an actual stylesheet containing styles to add to your theme
:''gradient.jpg'' - an image file, you can add as many as you want
:''styles.php'' - the actual script that Moodle calls, there is no need to change this


== Create a new theme directory ==
== Create a new CSS file ==


Themes are all stored within the "theme" directory of Moodle.
Your theme can have as many CSS files as you like. Create a new one, e.g. ''mystyles.css'', and include it in your theme by editing ''config.php'' and changing <code>$THEME->stylesheets</code>. You may remove ''gradients.css'' if you don't want it.


To create a new theme directory make a copy of the '''standardwhite''' directory (or any other theme) and give the directory a new name to match your theme.  The directory/theme name should be very simple, with just a-z and numbers if necessary.
This new CSS file is where you will be adding styles that override ones from the standard stylesheet or set new ones.


Inside this new directory you will see the following files.
While you're looking in ''config.php'', read through it to get an idea of the other things that you can do.


* '''config.php'''  - edit this to change parameters for your theme
== Make your theme the active one ==
* '''favicon.ico''' - the site icon that shows in the browser location bar or bookmarks
* '''header.html''' - a fragment of HTML that defines the top of your pages
* '''footer.html''' - a fragment of HTML that defines the bottom of your pages
* '''gradients.css''' - an actual stylesheet containing styles to add to your theme
* '''gradient.jpg''' - an image file, you can add as many as you want
* '''styles.php''' - the actual script that Moodle calls, there is no need to change this


Choose your new theme from the list on Administration >> Configuration >> Themes. (Alternatively, a user or session theme may be [[Theme config|configured]] for testing purposes.)


== Create a new CSS file in your theme ==
== Changing the header and footer files ==


Your theme can have as many CSS files as you like.  Create a new one (eg mystyles.css) and include it in your theme by editing config.php and changing $THEME->stylesheetsYou can remove gradients.css there too if you don't want it.
The header and footer files define the layout for the top and bottom of pages.   


This new CSS file is where you will be adding styles that override ones from the standard stylesheet.
The first thing most people want to do is to add a logo to the front page.  The easiest way to do this is to edit the header file.  Look closely at the code in header.html and you'll see there is different code for different parts of Moodle. [[Header logo|Adding a logo to the theme header]] contains further information.


While you're looking in config.php, read through it to get an idea of the other things that you can do in there.
Warning: If upgrading from 1.4, don't just copy your old header and footer files over as they have changed substantially.


== Change the Header and Footer Files ==
== Start adding new CSS styles ==


The header and footer files define the layout for the top and bottom of pages. 
Start adding classes to your CSS file, one by one.  The best way to find out what styles you want to change is by using one of the following tools:


The first thing most people want to do is to add a logo to the front pageThe easiest way to do that is to do this in the header file.  Look closely at the code in header.html and you'll see there is different code for different parts of Moodle.
* Andrew Walker's [http://www.moddular.org/log/css-inspector/ CSS Inspector] - this enables you to easily view details of an element, including its ancestors and any class and id attributes
* [http://chrispederick.com/work/firefox/webdeveloper/ Web Developer Extension for Firefox]


Warning: if upgrading from 1.4 themes don't just copy your old header and footer files over as they have changed substantially.
== Clear your browser cache==


== Build Your CSS to Rework Your Moodle 1.4 Theme ==
Please remember that browsers usually cache CSS files, so a forced refresh (Ctrl+F5) is required in order to see any changes. For a detaled description look at [http://www.esqsoft.com/html/how-to-clear-your-browser-cache.htm how-to-clear-your-browser-cache]


Looking at the site in Firefox with the "Web Developer" extension, start adding new styles to your new CSS file. Some you can copy from the 1.4 theme, some you can't. To get an impression how the styling works look at the other themes coming with your Moodle installation. Ask on the Moodle forums especially the "Themes" forum when you need help.
== See also ==


Many elements in Moodle pages have multiple short names in the class tag like the sideblocks "block_activity_modules sideblock". You can apply styles to all sideblocks using the class name "sideblock" or only to the block "Activity" using the class name "block_activity_modules".
* [[Theme basics]]
* [http://moodle.org/mod/forum/discuss.php?d=24610#116168| Moving Title Text in Sideblocks] forum discussion
* [http://moodle.org/mod/forum/view.php?id=46 Themes forum]


== Further Informations about Moodle 1.5 Themes ==
[[Category:Themes|Upgrade]]


* How the blocks on the course page are structured you can see in [http://moodle.org/mod/forum/discuss.php?d=24610#116168| this posting] with the Activity block as an example.
[[fr:Adapter un thème pour 1.5]]
* You can read about the Moodle 1.5 Themes Basics in [http://moodle.org/mod/forum/discuss.php?d=21189| this Moodle thread].

Latest revision as of 10:22, 18 June 2007


From Moodle version 1.5 and higher CSS support is extended throughout Moodle to remove hardcoded styles e.g. fonts or colours, from the HTML code. As a result, Moodle themes are a lot more flexible and accessible, but this also means that custom themes written for Moodle version 1.4.x and earlier may no longer work well.

The best approach when upgrading is to reconstruct your theme again from scratch, borrowing graphics and styles from your old theme as necessary. This approach will result in a more robust theme that will survive future upgrades of Moodle.

The instructions below therefore apply whether you are upgrading or not.

Upgrade or install Moodle 1.5 or higher

Install Moodle as normal. If you are upgrading, your old theme directory will remain, but the installation process will set the theme to the new default standardwhite.

Create a new theme directory

Themes are all stored in the theme directory of Moodle.

To create a new theme directory, make a copy of the standardwhite directory (or any other theme) and name it appropriately.

Inside this new directory you will see the following files.

config.php - edit this to change parameters for your theme
favicon.ico - the site icon that shows in the browser location bar or bookmarks
header.html - a fragment of HTML that defines the top of your pages
footer.html - a fragment of HTML that defines the bottom of your pages
gradients.css - an actual stylesheet containing styles to add to your theme
gradient.jpg - an image file, you can add as many as you want
styles.php - the actual script that Moodle calls, there is no need to change this

Create a new CSS file

Your theme can have as many CSS files as you like. Create a new one, e.g. mystyles.css, and include it in your theme by editing config.php and changing $THEME->stylesheets. You may remove gradients.css if you don't want it.

This new CSS file is where you will be adding styles that override ones from the standard stylesheet or set new ones.

While you're looking in config.php, read through it to get an idea of the other things that you can do.

Make your theme the active one

Choose your new theme from the list on Administration >> Configuration >> Themes. (Alternatively, a user or session theme may be configured for testing purposes.)

Changing the header and footer files

The header and footer files define the layout for the top and bottom of pages.

The first thing most people want to do is to add a logo to the front page. The easiest way to do this is to edit the header file. Look closely at the code in header.html and you'll see there is different code for different parts of Moodle. Adding a logo to the theme header contains further information.

Warning: If upgrading from 1.4, don't just copy your old header and footer files over as they have changed substantially.

Start adding new CSS styles

Start adding classes to your CSS file, one by one. The best way to find out what styles you want to change is by using one of the following tools:

Clear your browser cache

Please remember that browsers usually cache CSS files, so a forced refresh (Ctrl+F5) is required in order to see any changes. For a detaled description look at how-to-clear-your-browser-cache

See also