Templates
So far, we have been building HTML in renderer functions. Generating pages in this way is great for the developer but it can make life harder for the theme designer. Renderers can contain lots of logic that the theme designer wouldn't necessarily be interested in and this can make developing new formats much more difficult. Templates provide much better separation between the presentation layer and the business layer, which we shall see in this section.
Let us revisit the Courses information
block description page. Recall that this displays an overview of the course:
This page is generated by the get_overview()
function implemented in renderer.php
. Let us re-implement this page so that it uses a Mustache template.
Mustache
This section only gives a very brief overview of Moodle templates. The templating technology employed is called Mustache (pronounced moo-stash not moo-starsh... and definitely not moo-stosh). For more details on Moodle's use of Mustache, check out the Moodle developer...