History: Theme-related Software Concept and Design
Source of version: 4
Copy to clipboard
!Overview Tiki uses the Smarty template engine, so pages generally have a PHP file (.php) and a Smarty template (.tpl) associated with them. These produce the XHTML for the page, which is then given visual styles with CSS. The CSS is provided by a combination of some feature-specific stylesheets, default layout and design stylesheets, and theme stylesheets. !Concept (Tiki14 plan) There are several features that determine which theme is displayed for a given screen. See also http://doc.tiki.org/Themes !!Site theme Site theme setting can be made at the __Look and Feel__ settings panel. Themes can have options. !! User theme If preference change_theme is enabled than users are allowed to change theme. It is possible to limit the themes users can pick from using the available_themes preference. User theme preference overrides the site theme and also override perspective, but don't override theme control setting. !!!Available themes Limit the list of the themes users can pick from when changing theme is allowed. All theme options of the allowed themes are available for selection. !!Theme Control feature Allows to have a specific theme for objects, categories and sections, see [http://doc.tiki.org/Theme+Control|Documentation] Theme control setting override user theme preference and site theme preference . !! Perspective feature Perspectives are to override a preference, see [http://doc.tiki.org/Perspectives|Documentation] Perspective settings override site theme preference, but dont override user preference. !!Group theme feature !Theme is selected as follows If Theme Control feature is enabled: - If a theme is assigned to the individual object that theme is used - If not then if a theme is assigned to the object's category that theme is used - If not then a theme for the section is used - If none of the above was selected the user theme is used - Finally if the user didn't select a theme the default theme is used !Developer info The different theme settings are stored in preferences and can be accessed smarty variable {CODE()}Main prefs: $prefs['theme_active'] - this is the theme that will be displayed. This pref is not stored in the database, it is set dinamically depending on enabled features (eg: change_theme) $prefs['theme_site'] - the theme setting for the site stored in tiki_preferences table $prefs['theme_option_site'] - the theme option setting for the site stored in tiki_preferences table $prefs['available_themes'] - list of themes available for users to pick their preferred theme for the site stored in tiki_preferences table $prefs['user_theme'] - the user's theme preference stored in tiki_user_preferences table $prefs['user_theme-option'] - the user's theme preference stored in tiki_user_preferences table $prefs['tc_theme'] - the user's theme preference {CODE}