Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Theme changes in 2.0: Difference between revisions

From MoodleDocs
No edit summary
 
(238 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{Moodle 2.0}}
{{obsolete}}


* '''PROJECT STATE: Proposal'''
The text for this page has been deleted because it was out of date and no longer relevant. See [[Themes]] for information on Themes in Moodle. To view the previous text for this page check the history.
* '''MAIN TRACKER ISSUE''': n/a
* '''DISCUSSION AND COMMENTS''': n/a
* '''AUTHOR''': [[User:Petr Škoda (škoďák)|Petr Škoda (škoďák)]]
 
=Goals=
The main goals are:
# general simplification of code
# easier theme customizations
# allow themes to be stored in dataroot
# improved performance
# solve all caching problems
# base all themes on YUI CSS foundation
# easy customisation of theme images (similar to smartpix)
 
=Design overview=
 
All theme files will be served through two files ''/theme/styles.php'' and '/'theme/image.php''. If more advanced themes need extra javascript files we could add optional ''/theme/javascript.php'' file.
 
 
All CSS style sheets (including YUI, plugin CSS and parents) would be merged into single large CSS file served via the /theme/styles.php file, it would have several parameters:
* theme - string, theme name
* rtl - bool, modified style sheet for RTL languages
* iehack - 6/7, IE would include special IE6/7 incompatibility fixes (this means IE 6 and 7 loads two styles.php instead of one)
* rev - int, theme revision number stored in main config table, solves all caching problems
 
 
The theme config.php would be significantly simplified, the complete list of available options would be:
* <code>$THEME->parents = array('standard', 'purple');</code> lists all parents top-down, each theme contains full list of parents, this is non-recursive and more flexible specification without any limits
* <code>$THEME->sheets = array('styles_layout', 'styles_fonts', 'styles_color');</code> the same as before, lists files from current theme directory
* <code>$THEME->parents_exclude_sheets('standard'=>array('styles_moz'), 'purple'=>array('styles_fonts.css'));</code> it would be also posssible to use ''true'' instead of array in order to specify ''all'' sheets or all sheets in all parents
* <code>$THEME->plugins_exclude_sheets('mod_book', 'gradereport_grader');</code> - specify individual components that should be excluded from this theme
* <code>$THEME->layouts = array(...);</code> - the same as before, cascades through parent themes
* resource and filter hacks $THEME->resource_mp3player_colors, $THEME->filter_mediaplugin_colors
 
 
=Removed old features=
# '''meta.php''' - used mostly for IE6/7 hacks, custom layouts may be used instead
# '''smartpix''' - completely obsoleted by new image location resolution algorithm
# $CFG->themewww, $CFG->themedir and friends - themes can be stored in dataroot, web hosting companies could use shared dirroot without custom themes, the styles.php URLs would be always constructed via some helper functions
# '''styles.php''' replaced by styles.css, supported in all plugin types - the PHP is not needed because images are specified using <nowiki>{{component|dir/image}}</nowiki> syntax

Latest revision as of 07:55, 1 December 2016

Warning: This page is no longer in use. The information contained on the page should NOT be seen as relevant or reliable.


The text for this page has been deleted because it was out of date and no longer relevant. See Themes for information on Themes in Moodle. To view the previous text for this page check the history.