Note:

This site is no longer used and is in read-only mode. Instead please go to our new Moodle Developer Resource site.

Upgrading themes to Moodle 3.6: Difference between revisions

From MoodleDocs
m Text replacement - "<code php>" to "<syntaxhighlight lang="php">"
This page will not be migrated to new devdocs
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{Template:WillNotMigrate}}
{{Moodle 3.2}}
{{Moodle 3.2}}
{{Template:Themes}}
{{Template:Themes}}
Line 11: Line 13:
templates/columns1.mustache
templates/columns1.mustache
templates/columns2.mustache
templates/columns2.mustache
</code>
</syntaxhighlight>


You will need to add this callback to your custom layout file:  
You will need to add this callback to your custom layout file:  
Line 17: Line 19:
<syntaxhighlight lang="php">
<syntaxhighlight lang="php">
{{{ output.standard_after_main_region_html }}}
{{{ output.standard_after_main_region_html }}}
</code>
</syntaxhighlight>


You custom layout file might define its own main content region, adding the renderer callback after this region should make it work:
You custom layout file might define its own main content region, adding the renderer callback after this region should make it work:
Line 26: Line 28:
</div>
</div>
{{{ output.standard_after_main_region_html }}}
{{{ output.standard_after_main_region_html }}}
</code>
</syntaxhighlight>
If your theme defines its own layout files, make sure the callback is added there too. The callback should not be added to layout files for login, maintenance or the secure.mustache layout.
If your theme defines its own layout files, make sure the callback is added there too. The callback should not be added to layout files for login, maintenance or the secure.mustache layout.


Line 37: Line 39:
layout/columns2.php
layout/columns2.php
layout/columns3.php
layout/columns3.php
</code>
</syntaxhighlight>


You will need to add this callback to your custom layout file:
You will need to add this callback to your custom layout file:
Line 43: Line 45:
<syntaxhighlight lang="php">
<syntaxhighlight lang="php">
<?php echo $OUTPUT->standard_after_main_region_html() ?>
<?php echo $OUTPUT->standard_after_main_region_html() ?>
</code>
</syntaxhighlight>


You custom layout file might define its own main content region, adding the renderer callback after this region should make it work:
You custom layout file might define its own main content region, adding the renderer callback after this region should make it work:
Line 52: Line 54:
</div>
</div>
<?php echo $OUTPUT->standard_after_main_region_html() ?>
<?php echo $OUTPUT->standard_after_main_region_html() ?>
</code>
</syntaxhighlight>


If your theme defines its own layout files, make sure the callback is added there too. The callback should not be added to layout files for embedded, maintenance, popup or the secure.php layout.
If your theme defines its own layout files, make sure the callback is added there too. The callback should not be added to layout files for embedded, maintenance, popup or the secure.php layout.

Latest revision as of 15:25, 7 February 2025


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


Moodle 3.2


Moodle 3.6 adds a few new features that effects child themes, the new messaging user interface requires a renderer callback to load the message drawer. This can affect boost and bootstrap base child themes.

Boost based child themes

If your child theme overrides one of these Boost layout files:

templates/columns1.mustache
templates/columns2.mustache

You will need to add this callback to your custom layout file:

{{{ output.standard_after_main_region_html }}}

You custom layout file might define its own main content region, adding the renderer callback after this region should make it work:

<div id="page" class="container-fluid">
...
</div>
{{{ output.standard_after_main_region_html }}}

If your theme defines its own layout files, make sure the callback is added there too. The callback should not be added to layout files for login, maintenance or the secure.mustache layout.

Bootstrapbase based child themes

If your child theme overrides one of these layout files:

layout/columns1.php
layout/columns2.php
layout/columns3.php

You will need to add this callback to your custom layout file:

<?php echo $OUTPUT->standard_after_main_region_html() ?>

You custom layout file might define its own main content region, adding the renderer callback after this region should make it work:

<div id="page-content" class="row-fluid">
...
</div>
<?php echo $OUTPUT->standard_after_main_region_html() ?>

If your theme defines its own layout files, make sure the callback is added there too. The callback should not be added to layout files for embedded, maintenance, popup or the secure.php layout.