MoodleBites Theme Design Level 2

Updated for 2019 - for Moodle 3.6

If you are interested in continuing in Moodle Theme development, and have some development experience, experience with php, and experience with Moodle Themes, then this MoodleBites Theme Design Level 2 is for you!  You should have completed, or be familiar with the content of MoodleBites Theme Design Level 1 before taking this advanced course.

This course is 3 weeks in duration, asynchronous, and completely online. Each week contains approximately 2-4 hours work, although this varies depending on your experience with Moodle and themes in general, and how much extension work you wish to complete.

The course is focused on adapting existing Themes (standard Themes and plugin Themes). After successfully completing this course:

  • You will understand how Moodle Themes really work.
  • You will be able to customise existing Themes.
  • You will be able to use simple debugging tools and understand important aspects of the Moodle Theme development and testing process.

There are no live sessions, but participants are encouraged to participate in forums and to share their practical work for others to see and learn from.  Note that for this course you should be using Moodle 3.5 or later.

MoodleBites Theme Design


Gareth BarnardYour lead-facilitator for this course is Gareth Barnard, well-known in the Moodle community for his outstanding contributions to Moodle including:

Facilitator of the Theme Forum
Moderator of the Courses and Course formats Forum
Maintainer of the Essential Theme - THE most popular Moodle Theme plugin anywhere - used on more than 10,000 Moodle sites worldwide
Developer of Campus Theme (3,000+ downloads)
Developer of Shoehorn Theme - based on Bootstrap 3
Developer of Shoelace Theme (one of the most advanced Themes ever created for Moodle)
Developer of Theme Selector Block (great for developers/demo sites)
Developer of Grid course format plugin (4,000+ downloads)
Developer of Collapsed Topics course format plugin (4,000+ downloads)
Developer of Columns format course format plugin (used on 200+ sites)


This is a specialist course, with limited numbers, and starts on:

  • 1st March
  • 1st July
  • 1st November


Note that if you book Level 1 and Level 2 at the same time you can get an additional US$100 discount!

MoodleBites Theme Design Level 1 is US$499 per person. At this time we are able to offer a discount to a special rate of US$399 but places are limited - so book early to avoid disappointment! If you wish to translate this value to your local currency please visit: All invoices are in US Dollars (Euro invoices available by special request). You can register for the course using the "Register Now" link on the Front Page.

This is a technical course, designed for highly self-motivated people, willing to complete work outside of the course content.

Course outline

Technical requirements and pre-requiaites

  • Understanding or appreciation of PHP, jQuery / JavaScripts, SCSS* and CSS.  *Helps but not essential.
  • Willing to use the command line.
  • Fully versed with an IDE or code editing text editor.
  • Ability to problem solve with a 'no fear' attitude when facing new complex technical concepts.
  • Access to a test server with Moodle installed or can be installed upon.
  • Familiarity of using browser development tools.

In this course you will learn aspects of advanced Moodle Theme design including:

  • Week 1
    •  Templates to alter the layout of a page
    •  Using SCSS
    •  How to display blocks horizontally
  • Week 2
    • Applying accessibility
    • Adding PHPUnit tests
  • Week 3
    • Configuration management with Git
    • Creating and using custom settings
    • Maintenance and planning for change with refactoring

There is no need to use a specific Operating System, or editor. The course is generic on these points and aims at basic concepts that will be present in any OS or development environment. Effort has been made to ensure that the practical tasks and examples given are generally applicable. Anyone attending this course however will need to be familiar with their own OS and editors. We cannot answer in-depth questions specific to your specific choice of OS.

*Please note this course outline is subject to change to keep pace with Moodle development.

We will be teaching the skills of:

  • Templates to alter the layout of a page - skill of templating and separation of the logic from the interface.
  • Using SCSS - skill of organising the styles.
  • How to display blocks horizontally - skill of adapting existing methods to suit a requirement.
  • Creating and using JavaScript as AMD modules - skill of manipulating the browser with JavaScript, possibly covering the AJAX concept.
  • Applying accessibility - skill of making the interface available for all.
  • Adding PHPUnit tests - skill of checking and confirming the work.
  • Configuration management with Git - skill of managing the work.
  • Creating and using custom settings - skill of adapting existing API functionality to suit a requirement.
  • Maintenance and planning for change with refactoring - skill of maintaining a project for one or more stakeholders.