Commit | Line | Data |
---|---|---|
0f704140 PS |
1 | This files describes API changes in /theme/* themes, |
2 | information provided here is intended especially for theme designer. | |
edb7d5ad | 3 | |
3372addd | 4 | === 4.0 === |
c6a74d47 | 5 | * A new theme config 'removedprimarynavitems' allows a theme to customise primary navigation by specifying the list of items to remove. |
3372addd | 6 | * A new theme config 'usescourseindex' allows a theme to specify whether it implements and uses course index. |
341a7b2a | 7 | * A new theme setting 'unaddableblocks' allows admins to define the blocks that won't be displayed in the "Add a block" list. |
3372addd | 8 | |
bafdfedf AA |
9 | === 3.11 === |
10 | * The classname 'viewmode-cobmined' in course/management.php has been changed to 'viewmode-combined' | |
11 | ||
debf4835 | 12 | === 3.10 === |
1a5f0e6c | 13 | * The Bootstrap legacy css utilities from Bootstrap 2 and 4alpha have been removed. |
4394f9e3 BB |
14 | The syntax for the new Bootstrap 4.5 utility classes is {property}{sides}-{breakpoint}-{size} for sm, md, lg, and xl. |
15 | The size values are: | |
16 | 1: 0.25rem | |
17 | 2: 0.5rem | |
18 | 3: 1rem | |
19 | 4: 1.5rem | |
20 | 5: 2rem | |
21 | 6: 3rem | |
22 | ||
23 | In Bootstrap 4alpa a spacing utility class '.m-l-1' would mean margin-left 1rem. With the new spacing classes it should now be '.ml-3' | |
24 | ||
25 | These class names have changed: | |
26 | .row-fluid is now .row | |
27 | .text-error is now .text-danger | |
28 | ||
29 | These classes should no longer be used: | |
30 | .label .label-{type}, use .badge .badge-{type} instead | |
31 | .tag .tag-{type}, use .badge .badge-{type} instead | |
32 | .well, just set a border with .border and a background with .bg-light | |
33 | ||
e06f9a83 FR |
34 | === 3.9 === |
35 | ||
36 | * Add class .d-print-block to #page, #page-wrapper and #page content to fix Firefox printing problems | |
119a83f1 NH |
37 | * A function to core_renderer has been added, secure_layout_login_info. This allows the boost and classic templates to |
38 | display the users full name in a secure layout. | |
39 | * Secure layout in themes boost and classic have been modified to allow language selection as they now call the | |
40 | output.secure_layout_language_menu function. | |
e06f9a83 | 41 | |
cddcfccc MM |
42 | === 3.8 === |
43 | ||
99c0463c EL |
44 | * Moodle does not produce chunked CSS anymore, instead an unique css fils is generated and served (MDL-55751). This implies: |
45 | * css_chunk_by_selector_count() has been removed. | |
46 | * css_store_css(), theme_styles_get_filename() and theme_styles_get_etag() don't accept any chunk-related param anymore. | |
cddcfccc MM |
47 | * The PHP Less compilier has now been removed from the core library. |
48 | Please consider migrating your theme to use SCSS. | |
0261d1ef AN |
49 | * It is now possible to use sub-directories when creating mustache templates. |
50 | The standard rules for Level 2 namespaces also apply to templates. | |
51 | The sub-directory used must be either an valid component, or placed inside a 'local' directory to ensure that it does not conflict with other components. | |
52 | ||
53 | The following are all valid template names and locations in your theme: | |
6097e14b GB |
54 | theme_themename/columns2: theme/[themename]/templates/columns2.mustache |
55 | theme_themename/local/layouts/columns2: theme/[themename]/templates/local/layouts/columns2.mustache | |
0261d1ef AN |
56 | |
57 | The following are core templates, locations, and override locations in your theme: | |
6097e14b GB |
58 | core/modal: lib/templates/modal.mustache => theme/[themename]/templates/core/modal.mustache |
59 | mod_forum/forum_post: mod/forum/templates/forum_post.mustache => theme/[themename]/templates/mod_forum/forum_post.mustache | |
60 | mod_forum/local/post/user: mod/forum/templates/local/post/user.mustache => theme/[themename]/templates/mod_forum/local/post/user.mustache | |
0261d1ef AN |
61 | |
62 | The following are _invalid_ template names and locations: | |
63 | theme_themename/layouts/columns2: theme/[themename]/layouts/columns2.mustache | |
cddcfccc | 64 | |
e994dea0 AN |
65 | === 3.7 === |
66 | * The core/form_autocompelte_input template now has a `data-tags` attribute. | |
1baadc87 MM |
67 | * Boost theme renderer overrides have now been migrated to core. |
68 | * Renderers that were overridden by Boost are now in Bootstrapbase | |
69 | * Core templates in Boost have now moved into core | |
70 | * Templates that were overridden by boost are now located in Bootstrapbase | |
a5a6df54 | 71 | * Themes bootstrapbase, clean & more have now been removed. |
e994dea0 | 72 | |
a266ae30 TH |
73 | === 3.6 === |
74 | ||
fed67b67 BB |
75 | * A new callback has been added to the theme layout files allowing plugins to inject their content |
76 | into the page. For Boost it was added as a mustache variable "{{{ output.standard_after_main_region_html }}}" in | |
77 | templates/columns1.mustache and templates/columns2.mustache. In bootstrapbase it was added as a | |
78 | function call "$OUTPUT->standard_after_main_region_html()" in layout/columns1.php, layout/columns2.php. | |
79 | and layout/columns3.php. Child themes not inheriting these templates should add the function call | |
80 | after the div containing the main content region. Please refer to the messaging drawer UI for an example of | |
81 | making use of this new feature. | |
a266ae30 TH |
82 | * The body tag has various browser-specific classes for those cases where some |
83 | browser-sniffing is unavoidable. This used not to recognised Microsoft Edge, | |
84 | but now it does (class 'edge'). Also, both Safari and Chrome used to be | |
85 | class 'safari', but now there are separate classes 'safari' and 'chrome'. | |
86 | The body's class should change to match the browser: | |
87 | - Google Chrome (Mac & Window): The body class should change from safari to chrome. | |
88 | - Google Chrome (Android) : The body class should change from safari, android to chrome, android. | |
89 | - Microsoft Edge: The body class should change from safari to edge. | |
90 | - Mobile safari: The class ios should exist, safari class should be removed. | |
91 | * Remove class .safari styling from activity chooser dialog for theme boost and bootstrapbase. | |
216b8947 MG |
92 | * The following functions and classes have been finally deprecated and can not be used anymore: |
93 | * css_is_colour() | |
94 | * css_is_width() | |
95 | * css_sort_by_count() | |
db03bff7 | 96 | * core_course_renderer::add_modchoosertoggle() |
216b8947 | 97 | * class css_optimiser |
a266ae30 | 98 | |
46676b76 AB |
99 | === 3.4 === |
100 | ||
101 | * There was a mustache template login.mustache in /lib/templates/ rendering the login form | |
102 | and a template with the same name in /theme/boost/templates/ rendering the pagelayout "login". | |
103 | To prevent misunderstanding when overriding one of these templates in a Boost child theme, | |
104 | the first one was renamed to loginform.mustache - see MDL-58970. | |
d7d2a72f AB |
105 | * The Boost flat navigation nodes now have several data-attributes which let plugin developers |
106 | access properties from the underlying navigation nodes in the browser - see MDL-59425. | |
d8cb4615 MN |
107 | * Navigation between activities via a previous and next link was added to Boost, Clean and Bootstrapbase. This |
108 | is made possible by a new function core_renderer->activity_navigation(). | |
4a8dfef0 JB |
109 | * Theme designers may now place the Reset tour on this page link where required by adding an empty |
110 | container (e.g. <div class="tool_usertours-resettourcontainer"></div>) to their layouts. | |
46676b76 | 111 | |
f745b812 DP |
112 | === 3.3 === |
113 | ||
114 | * As boost-based themes no longer use the moodle-core-popuphelp help popups, the javascript | |
115 | setup for this module have been moved from core standard_head_html to the bootstrapbase | |
116 | renderer. If your theme needs this javascript you will need to ensure the bootstrap renderer | |
117 | is called, or require the JS yourself | |
118 | ||
2258b4dc FM |
119 | === 3.2 === |
120 | ||
862816ee FM |
121 | * Removed themes: base, canvas |
122 | During the upgrade process the themes will be uninstalled and all their settings will be deleted. | |
123 | If you wish to keep your theme and its settings, download it from moodle.org and put it back in | |
124 | the theme/ directory BEFORE UPGRADING. | |
2ede86d7 | 125 | * Bootstrap 4 was added as part of a the new theme 'boost'. |
862816ee FM |
126 | * Some backwards and forwards compatibility has been added for different bootstrap versions. |
127 | This is to allow the same markup to work in "clean" and "boost" themes a lot of the time. | |
128 | It is also to allow user text with bootstrap classes to keep working in the new theme. | |
d3c35f93 FM |
129 | * Using .dir-rtl for RTL styling is deprecated and should not be used any more. From now |
130 | the styles are automatically flipped when the language is right-to-left. However, | |
131 | as this is not always perfect, you can define exceptions. Please refer to the documentation | |
132 | of the tool RTLCSS-PHP for more information: https://github.com/moodlehq/rtlcss-php | |
862816ee FM |
133 | * Themes can now automatically compile SCSS on the fly. This works the same way as it |
134 | does compiling LESS on the fly, effecitvely adding $THEME->scss to your config. The | |
135 | latter can either be the name a SCSS file (without extension) in your theme's scss/ folder, | |
136 | or a Closure which will return the main SCSS content. | |
137 | * Two new callbacks allow themes to inject SCSS code before and after the content provided | |
138 | by the SCSS file $THEME->scss. See $THEME->prescsscallback and $THEME->extrascsscallback. | |
139 | * A new callback can be defined to post process the CSS using an object representation | |
140 | of the CSS tree ($THEME->csstreepostprocess). This gives a lot more flexibility than a | |
141 | simple find and replace. Refer to 'boost' for an example, and to PHP-CSS-Parser. | |
142 | (https://github.com/sabberworm/PHP-CSS-Parser) for the API. | |
143 | * A new core setting now enables admins to upload the logos of their site. Using the | |
144 | following methods, themers can instantly support branding logos without the need | |
145 | to implement specific theme settings: | |
146 | * $OUTPUT->get_logo_url($maxwidth, $maxheight); | |
147 | * $OUTPUT->get_compact_logo_url($maxwidth, $maxheight); | |
d3c35f93 FM |
148 | * The class .dir-ltr should not be used any more. To force LTR styles use the directive |
149 | to remove the rule when the language is RTL. See RTLCSS-PHP for more information. | |
113efed5 FM |
150 | * A new class .text-ltr may be used to force the direction to LTR. This is especially useful |
151 | for forms fields (numbers, emails, URLs must not be RTL'd), and for displaying code | |
152 | snippets or configuration samples. | |
9d1402ab | 153 | * A new theme config 'requiredblocks' allows a theme to define which blocks are deletable. |
4f2378d9 FM |
154 | * You may no longer override the following core_course_renderer methods. |
155 | See course/upgrade.txt for more information: | |
156 | - course_modchooser_module_types | |
157 | - course_modchooser_module | |
158 | - course_modchooser_title | |
891750bc FM |
159 | * The question chooser now uses a renderable and a template, the following methods |
160 | have been deprecated in favour of core_question_bank_renderer::render_qbank_chooser(). | |
161 | - qbank_chooser | |
162 | - qbank_chooser_types | |
163 | - qbank_chooser_qtype | |
164 | - qbank_chooser_title | |
d52ebf11 DP |
165 | * The 'css optimiser' has been removed. Developers are encouraged to use tools such as stylelint |
166 | to help optimise their css. Some functions and classes in lib/csslib.php (which was not for public use) | |
167 | have been deprecated: | |
168 | - css_is_colour | |
169 | - css_is_width | |
170 | - css_sort_by_count | |
171 | - class css_optimiser no longer does anything. | |
862816ee FM |
172 | * CLI svgtool.php has moved from theme/base/cli to admin/cli and paths should be relative to the new location. |
173 | * mod_chat will now display the 'course theme' option for all themes (previously it was only displayed on | |
174 | bootstrap2 based themes). | |
b11916d3 MG |
175 | * Theme can choose how to display "Add a block" control in $THEME->addblockposition, default value is |
176 | BLOCK_ADDBLOCK_POSITION_DEFAULT that displays it as a fake block in editing mode. | |
2258b4dc | 177 | |
4040c8b3 DM |
178 | === 3.1 === |
179 | ||
180 | * A new search box for global search has been added to bootstrap and clean layout files, if | |
181 | your theme is overwriting columns1.php, columns2.php or columns3.php you will need to add a | |
182 | call to core_renderer::search_box to display it. | |
24346803 AN |
183 | * Notification templates have been renamed to better suit types of alert |
184 | rather than uses. The following changes have been made: | |
185 | * notification_problem.mustache => notification_error.mustache | |
186 | * notification_message => notification_info | |
187 | * notification_redirect => notification_warning | |
f59f89b4 MG |
188 | * Method core_course_renderer::course_section_cm_name() is split into two methods, custom themes that override |
189 | this method must be modified or otherwise editing functionality may become broken. This method is now also used by | |
190 | social activities block and site menu block to display activities names. | |
4040c8b3 | 191 | |
c7b73854 | 192 | === 3.0 === |
193 | ||
194 | * The renderer function core_availability_renderer::multiple_messages was changed to | |
195 | render_core_availability_multiple_messages, requiring a parameter of the new | |
196 | \core_availability\multiple_messages type. | |
5e9a937b JO |
197 | * Meta description is now included in standard_head_html for homepage in bootstrapbase. |
198 | If your theme includes a meta description directly in a layout for the frontpage, | |
199 | you will need to remove it or override the standard_head_html instead. | |
45cd3f60 DM |
200 | * Themes Clean and More have been updated to use a new navbar_button function, which shows the |
201 | hamburguer icon (responsive menu) or not depending on custom and language menus settings; | |
202 | themes extending bootstrapbase and overriding its layouts can call replace their "a.btn-navbar" | |
203 | node for a call to this function. | |
c47f3803 | 204 | * Themes Clean and More page header logo only displays on front page and login page. |
c08b52aa DM |
205 | * A new function navbar_home has been added to theme_clean and theme_more to display the navigation bar link |
206 | to the site home. Two new settings have been added to control if the link should be a small logo image, text | |
207 | or both. It defaults to the current behaviour, only a text link. | |
c7b73854 | 208 | |
c58891f1 ME |
209 | === 2.9 === |
210 | ||
73b425be ME |
211 | * Themes Bootstrapbase, Clean and More have undergone some changes for RTL layouts see - MDL-48160. |
212 | ||
c58891f1 | 213 | * Themes Clean amd More page header background logo, if loaded, no longer links to the home page. |
c36c3d07 AG |
214 | * Themes Clean and More have been updated to use the renderer full_header(). This renderer (when in a user context) displays a message button |
215 | and consequently the link to message users have been removed from various pages. It is recommended that theme developers use this | |
216 | renderer to ensure that they do not suffer from a reduction in access to this feature. | |
217 | * $OUTPUT->context_header() has been introduced to produce headers similar to what full_header() creates. This renderer is used for creating | |
218 | subsequent headers in a page. If provided with user information, this render will also display a message button like full_header(). | |
c58891f1 | 219 | |
c10fa5da | 220 | === 2.8 === |
c58891f1 | 221 | |
a2633964 ME |
222 | * Themes Base and Canvas layout/embedded.php has changed. |
223 | The div id="content" has been changed to id="page-content" - see MDL-47915. | |
c10fa5da DW |
224 | * All mod_assign CSS selectors have been qualified with ".path-mod-assign". This means any custom CSS |
225 | rules for mod_assign in a theme may need to be updated. | |
ebdcb292 SH |
226 | * The following render methods were renamed, if you have overridden any of these you will need to update your renderer: |
227 | - report_log_renderer::render_report_log_renderable => report_log_renderer::render_report_log | |
228 | - report_loglive_renderer::render_report_loglive_renderable => report_loglive_renderer::render_report_log | |
a2a4ad89 | 229 | * On calendar view screen the course selector and new event button have been swapped, custom CSS for .path-calendar might be affected. |
2f6a0e5f MN |
230 | * The functions search_listing() and search_pagination() in the core_course_management_renderer class take the searched string |
231 | as an extra parameter - see MDL-46902. | |
f2b4b2ad | 232 | * Themes with non-fixed headers must have the .navbar class in their navbar in order for floating headers in the grader report to work - see MDL-46658. |
6d8eba1a JC |
233 | * To accomodate the new gradebook, use of overflow: hidden or overflow-x: hidden CSS rules on DOM elements containing the |
234 | #user-grades table, visible at [Course administration -> Grades] is not recommended. Please use overflow: auto or | |
235 | overflow: scroll instead, as this will handle medium to large courses with multiple activities better (more information available at https://docs.moodle.org/dev/Theme_upgrade_notes ). | |
236 | * The new user menu can be added to themes by calling $OUTPUT->user_menu(); we recommend doing so in a backwards-compatible way (see https://docs.moodle.org/dev/Theme_upgrade_notes for more information). | |
c10fa5da | 237 | |
6b216432 AA |
238 | === 2.7 === |
239 | ||
31f28b6a PŠ |
240 | * CSS related functions in theme class and csslib.php were refactored, addons that are |
241 | using this private API need to be updated | |
ba55be91 | 242 | * Please update your css to use 'tr:nth-of-type(odd/even)' instead of '.r0/.r1' to apply tr specific css for various tables. |
98396c23 SH |
243 | These classes are deprecated now and will be removed in Moodle 2.9. This has done to better support styling tables that will be altered by JavaScript. |
244 | Here is an example to update your css: | |
245 | Old code: | |
246 | table.generaltable .r0 {background-color: #F0F0F0;} | |
247 | table.generaltable .r1 {background-color: #F0F0F0;} | |
248 | New code: | |
98396c23 | 249 | table.generaltable > tbody > tr:nth-of-type(even) {background-color: #F0F0F0;} |
ba55be91 | 250 | table.generaltable > tbody > tr:nth-of-type(odd) {background-color: #F0F0F0;} |
6b216432 | 251 | |
7a2dabcb FM |
252 | Removed themes: |
253 | * afterburner, anomaly, arialist, binarius, boxxie, brick, formal_white, formfactor, fusion, leatherbound, | |
254 | magazine, nimble, nonzero, overlay, serenity, sky_high, splash, standard and standardold have been removed. | |
255 | During the upgrade process the themes will be uninstalled and all their settings will be deleted. | |
256 | If you wish to keep your theme and its settings, download it from moodle.org and put it back in | |
257 | the theme/ directory BEFORE UPGRADING. | |
6b216432 | 258 | |
71715870 JC |
259 | Notes: |
260 | * z-index on #dock has been adjusted from 11000 to 5000 to prevent overlapping issues with fullscreen TinyMCE in Base theme. | |
261 | ||
699e2fd0 | 262 | === 2.6 === |
3b42864d | 263 | |
7c2efc11 JM |
264 | Removed themes: |
265 | * "My Mobile" theme has been removed (see MDL-40874). | |
266 | During the upgrade process "My Mobile" theme will be uninstalled and all its settings will be deleted. | |
267 | "My Mobile" theme and its extending themes will fallback to the mobile friendly "Clean" theme. | |
268 | If you wish to keep "My Mobile" theme and its settings, BEFORE UPGRADING you can copy the files from the | |
269 | unmaintained plugin into theme/mymobile. | |
270 | The unmaintained plugin can be downloaded at https://moodle.org/plugins/pluginversion.php?id=4563 | |
699e2fd0 | 271 | Notes: |
faf6010b | 272 | * There have been several changes made to the classes used on headings throughout Moodle. |
273 | This was done as per the Moodle HTML guidelines. h1 and h2 elements should have no classes, h3 and lower headings | |
274 | may have descriptive classes only (any classes must properly describe the relation between the header and its content). | |
699e2fd0 | 275 | * The parameters value for the following functions have been modified: core_renderer::heading() and core_renderer::heading_with_help(). |
3b42864d | 276 | This means that headings using the default options will no longer have the class "main" which was the previous default. |
d61c96b6 | 277 | * The file picker and activity chooser have been converted to use M.core.dialogue. This means the styles |
3b42864d RW |
278 | for these elements have changed in the base and bootstrapbase themes and you will need to copy the new styles |
279 | if you are not inheriting from either one of these themes. | |
b4c6b42e | 280 | * For the themes based on bootstrapbase please also read theme/bootstrapbase/upgrade.txt |
e5de4933 SH |
281 | * A new component action_menu is now used to display editing icons for courses and blocks within a drop down. If you have a theme that doesn't |
282 | extend base, canvas, or clean then you will need to style for this new component within your theme. | |
166ac0a3 SH |
283 | * The maintenance layout now has a special renderer that extends the core_renderer in order to prevent some methods from interacting |
284 | with the database. Please be aware that for the maintenance layout some methods now always return an empty string. | |
285 | This has been done because it is important that during maintenance routines we don't show any links, interact with the database, | |
286 | or interact with caches as doing so may lead to errors, | |
287 | Please see the maintenance renderer notes below for details on the functions affected. | |
e5de4933 SH |
288 | |
289 | Renderer changes: | |
290 | * core_course_renderer::course_section_cm_edit_actions has two new optional arguments and now uses and action_menu component. | |
291 | * core_course_renderer::course_section_cm has been altered to call core_course_renderer::course_section_cm_edit_actions with the two new arguments. | |
292 | * core_renderer::block_controls has a new optional argument (the block id) and has been altered to use the new action_menu component. | |
293 | * core_renderer::block_header has been altered to give core_renderer::block_controls the new second argument, the block id. | |
294 | * core_renderer::action_link has a new argument, and optional icon that can be rendererd into the link. | |
295 | ||
faf6010b | 296 | Selector changes: |
297 | * Changes to the classes given to the header produced when rendering a single section within a course. | |
298 | .section-navigation.header.headingblock => .section-navigation.navigationtitle | |
299 | * Changes to the classes used when producing the course information box that lists courses. | |
300 | The name (h3|div} of both courses and categories used to have .name, for courses in the list this was changed to .coursename and for categories in the list this was changed to .categoryname. | |
301 | * Classes ".header and .headingblock" were removed from all front page content headings. | |
302 | * Classes ".headingblock .header .tag-header" were removed from the tag index page | |
303 | ||
166ac0a3 SH |
304 | Maintenance renderer notes: |
305 | When the maintenance layout is being used $OUTPUT will be an instance of core_renderer_maintenance. | |
306 | This renderer mimics the core_renderer except that the following functions always return an empty string. | |
cf9f5a17 | 307 | * core_renderer_maintenance::block |
308 | * core_renderer_maintenance::blocks | |
309 | * core_renderer_maintenance::blocks_for_regions | |
310 | * core_renderer_maintenance::course_header | |
311 | * core_renderer_maintenance::course_footer | |
312 | * core_renderer_maintenance::course_content_header | |
313 | * core_renderer_maintenance::course_content_footer | |
314 | * core_renderer_maintenance::custom_menu | |
315 | * core_renderer_maintenance::file_picker | |
316 | * core_renderer_maintenance::htmllize_file_tree | |
317 | * core_renderer_maintenance::lang_menu | |
318 | * core_renderer_maintenance::login_info | |
319 | * core_renderer_maintenance::user_picture | |
166ac0a3 SH |
320 | |
321 | If you have overridden methods of the core_renderer in your theme and want those changes to be shown during times of maintenance you | |
322 | will also need to override the core_renderer_maintenance and copy your customisations from the core_renderer to that. | |
323 | ||
90160639 | 324 | === 2.5.1 === |
d3e5a21e SH |
325 | |
326 | Notes: | |
327 | * Block drag and drop functionality has been improved so that it works regardless of what block regions you use | |
328 | or how many block regions you have. In order to benefit from this improvement you must convert your calls from | |
329 | $OUTPUT->blocks_for_region() to $OUTPUT->blocks. | |
330 | ||
331 | Optional changes: | |
332 | * Theme config can nominate block regions to swap if the user is using a rtl languages such as Hebrew. | |
333 | $THEME->blockrtlmanipulations should be an associative array, the key is the original block region, and the | |
334 | value should be where the blocks in that region should be displayed. | |
335 | * New $OUTPUT methods to replace code that was previously using $PAGE. Converting to these methods is optional | |
336 | but highly recommended. Refer to the bootstrapbase layouts for examples. | |
337 | - $OUTPUT->body_attributes() returns a string you can use for the body id and classes. | |
338 | - $OUTPUT->blocks() returns HTML to display a block region and all of its blocks. This adds data attributes | |
339 | that ensure drag and drop of blocks will work no matter what block regions or how many you have. | |
340 | - $OUTPUT->page_heading() returns the page heading. Replaces $PAGE->heading. | |
341 | - $OUTPUT->page_heading_button() returns the button to display with the heading. Replaces $page->button. | |
342 | - $OUTPUT->page_doc_link() returns the link to moodle docs for the page. Replaces page_doc_link(). | |
343 | - $OUTPUT->page_heading_menu() returns the heading menu for the page. Replaces $PAGE->headingmenu. | |
344 | - $OUTPUT->page_title() Returns the title to use for the head section. | |
345 | - $OUTPUT->favicon() returns the URL to the favicon. | |
346 | ||
347 | Renderer changes: | |
348 | * core_renderer::navbar now returns an empty string if there are no navigation items to display. | |
349 | * core_renderer::custom_menu now adds a class "custom_menu" to the div that contains the HTML for the custom menu. | |
350 | ||
fc7defef JF |
351 | === 2.5 === |
352 | ||
09ae7ee0 MG |
353 | required changes: |
354 | * Functions core_course_renderer::course_category_tree() and course_category_tree_category() | |
355 | are deprecated | |
356 | * Significant changes in rendering of courses and categories listings, lots of CSS classes changed, | |
357 | several functions such as print_courses(), print_whole_category_list(), print_category_info() | |
358 | are moved to course renderer. | |
359 | See http://docs.moodle.org/dev/Courses_lists_upgrade_to_2.5 | |
360 | ||
fc7defef JF |
361 | DOM changes: |
362 | * changed the h1 title in the help popup to a h2. | |
97dbc8f2 | 363 | * new setting $THEME->yuicssmodules = array('cssreset', 'cssfonts', 'cssgrids', 'cssbase'); which |
12cb45f1 | 364 | allows themes to use different CSS reset normalisers such as cssnormalize YUI module. |
6e5d002e | 365 | * Re-wrote the user profile views to definition lists. |
12cb45f1 MN |
366 | * Re-wrote the table for the course completion status block to use html_table - added some CSS classes to |
367 | the table in the process (see MDL-35608). | |
5581c618 | 368 | * Cancel buttons have the class btn-cancel. |
12cb45f1 MN |
369 | * Added a z-index for the div#dateselector-calendar-panel so that the calendar pop-up renders above |
370 | the filemanager when they overlap, ie. the course settings page (see MDL-39047). | |
9074e478 DM |
371 | * Trivial change of CSS selectors used to display plugin status at the plugins overview |
372 | screen (#plugins-control-panel). | |
fc7defef | 373 | |
6671fa73 JF |
374 | Renderer changes: |
375 | * Mymobile theme changed to support more verbose move-block-here descriptions. | |
376 | ||
2d0e682d MV |
377 | === 2.4 === |
378 | ||
52b1ed5e MG |
379 | required changes: |
380 | * output course and course content header/footer that may be returned by course format (see MDL-36048) | |
e40bd746 | 381 | * span.completionprogress has been changed to a <div> and is not a float by default any more. |
52b1ed5e | 382 | |
fbb207c5 FM |
383 | deprecation: |
384 | * i/roles: Use t/assignroles instead | |
0cddd851 FM |
385 | * t/manual_item: Use i/manual_item instead |
386 | * t/unlock_gray: Use t/locked instead | |
f2bba619 | 387 | * t/userblue: Previously used to unblock a user, use t/unblock. |
5326675e BR |
388 | * c/course: Use i/courseevent instead |
389 | * c/group: Use i/groupevent instead | |
390 | * c/site: Use i/siteevent instead | |
391 | * c/user: Use i/userevent instead | |
99938034 | 392 | * t/clear: Use t/check instead |
c3847443 FM |
393 | * i/cross_red_big: Use i/invalid or i/grade_incorrect |
394 | * i/tick_green_big: Use i/valid or i/grade_correct | |
395 | * i/tick_amber_big: Use i/caution or i/grade_partiallycorrect | |
396 | * No more small versions of i/cross_red_small, i/tick_green_small and i/tick_amber_small, use their big equivalent. | |
501380a9 | 397 | * t/addgreen: Use t/add instead. |
851d3b7a | 398 | * i/approve: Use t/approve instead |
fbb207c5 | 399 | |
2d0e682d MV |
400 | optional changes: |
401 | * new optional boolean parameter $withlinks for public function login_info() in lib/outputrenderers.php (MDL-31365) | |
402 | * new layout option "nologinlinks" and new page layout "secure" e.g. for safebrowser and securewindow (MDL-31365) | |
bb128107 | 403 | * new class 'iconlarge' for 24x24 icons. |
fbb207c5 FM |
404 | * new icons i/export and i/import (sized 16x16). Previously export and import actions used i/backup and i/restore. |
405 | * new icon i/assignroles (sized 16x16), to prevent the use of i/roles which is 12x12. | |
406 | * new icon i/switchrole (sized 16x16), was previously using i/roles. Now is a copy of the new i/assignroles icon. | |
c42651d6 FM |
407 | * new icons i/enrolusers and t/enrolusers, previsouly i/users was used. |
408 | * new icon t/cohorts (sized 12x12), to prevent the use of i/cohorts which is 16x16. | |
06b7ed0a FM |
409 | * new icons t/sort_asc, t/sort_desc to use for ordering in table headers. |
410 | * new class 'iconsort' for icons used for ordering in table headers. | |
fa9c0aab | 411 | * new icons t/locked and t/unlocked (12x12) which should be used when there is no action associated to the icon. |
0cddd851 | 412 | * new icons i/folder (16x16), monochrome equivalent to f/folder. |
f2bba619 FM |
413 | * new icons t/addcontact, t/removecontact and t/messages, previously t/addgreen, t/delete and t/log were used in messaging. |
414 | * new icons t/unblock and i/twoway. | |
5326675e | 415 | * new icons i/courseevent, i/groupevent, i/siteevent and i/userevent (16x16) instead of c/* for calendar events. |
99938034 FM |
416 | * new icon t/markasread (12x12) to replace t/clear used in forums. |
417 | * new icon t/check (12x12) to replace t/clear which name does not reflect the icon meaning. | |
c22fbd38 | 418 | * new classes 'icon-pre' and 'icon-post' supposedly to be used when the icon is positioned before or after the text. This is not really used yet, but it's a start towards some standardisation of the icon selectors. |
c3847443 FM |
419 | * new icons i/valid, i/caution and i/invalid for generic statuses. |
420 | * new icons i/grade_correct, i/grade_partiallycorrect and i/grade_incorrect for grades. | |
851d3b7a | 421 | * new icon t/approve (12x12). |
0348468b | 422 | * new icon t/contextmenu (12x12) for a monochrome version of i/menu. |
ee362526 | 423 | |
33d9f44b PS |
424 | === 2.3 === |
425 | ||
426 | optional changes: | |
427 | * add new u/f3.png image when theme contains customised f1 and f2 default user images | |
428 | ||
0f704140 PS |
429 | === 2.2 === |
430 | ||
431 | required changes: | |
432 | * use new page content placeholder "echo $OUTPUT->main_content()" instead of "echo core_renderer::MAIN_CONTENT_TOKEN" | |
ee362526 | 433 | see git commit: 3b3f302855d7621405a8b93e49bd399d67a998d7 |
2d0e682d | 434 | * upgrade report selectors: search for "-course-report-" and replace with "-report-" |