Tiles format

Course formats ::: format_tiles
Maintained by David Watson
A course format which displays course topics as "Tiles", in a grid rather than as a list. When clicked, tile content is displayed under the tile with an animated transition. The layout adapts to different screen sizes and orientations. Within each tile, activities can also be set to display as "sub-tiles". For each tile, the teacher can pick an icon from a predefined set, or upload a background photo.
Latest release:
16793 sites
414 fans
Current versions available: 7
Key features
  • Tiles are used to show course topics and activities
  • Animation is used to expand tiles to reveal content
  • Icons or photos on each tile increase visual appeal
  • Modal windows (animated pop ups) to show content
  • Colours for tiles are customisable
  • Theme compatibility is broad (Boost, Clean, Essential, Moove and Adaptable).
  • Easy to switch into Tiles from other formats (e.g. Topics, Grid) without changing course content
  • User friendly (e.g. tile icons are provided and don't need to be uploaded)
  • Mobile responsive (adapts to different screen sizes and orientations)
  • Progress shown on tile with % in a circle, or as a fraction


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5
Screenshot #6
Screenshot #7
Screenshot #8


David Watson (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Pamerkan komen
  • johan verweij
    Jum, 26 Jan 2024, 7:04 AM
    i want to use avif files but can´t.... please help me ;)
  • David Watson
    Sab, 3 Feb 2024, 3:29 AM
    A Beta release of "Tiles" for Moodle 4.3 is now available. Please test this and report any bugs using the bug tracker linked at the top of the page.

    The "Beta" designation is to indicate that further testing is required, so I intend to allow 3 weeks from today for any bugs to be identified. If no significant known bugs remain by 23 February 2024, I plan to upgrade this to a "release candidate" on that date, with a view to upgrading it to "stable" by 15 March 2024.

    The release includes a change to the way that tile photos and icons are stored in the database, so during your own testing, please check that your Tile photos and icons are retained and report it if not.

    I added more details at the top of the page about what's included, and the next updates for the Moodle 4.1 and 4.2 versions.
  • Birgit Lachner
    Sab, 24 Feb 2024, 2:36 AM
    Hello ...
    I would like to "recreate" a function in tile format, but I can't do it.

    It is the case that clicking on a "text page" activity results that it is displayed in a modal dialog.

    Because we want to make several activities compactly accessible, we want to link to the text pages in a text field. However, a link from the text field means that the text page is not displayed as a modal dialog but takes up the entire browser window page. This is good for pages with a lot of content, but unnecessary for pages with little content.

    Therefore, I wanted to try to imitate the behavior of displaying a modal dialog. But I can't find the reason why there is this difference in the behavior?
    The link address in the activity is the same as in the text link. I noticed an event onclick="". But it also does not cause the page to be displayed in the modal dialog via the text link.

    Can you enlighten me wink

    Many thanks, Birgit from Germany
  • Ben Girard
    Kha, 29 Feb 2024, 11:16 PM
    Thanks for the latest beta version!! It's addressing numerous issues we were having. smile
  • Queenie Chan
    Sel, 12 Mac 2024, 3:38 AM
    At which version does the edit mode change? Our client wants to be able to see the tiles in both edit and non-edit mode.
  • Javier Afeltra
    Rab, 27 Mac 2024, 7:12 AM
    When the latest version of the format "Titles" or mosaics I get this error that prevents me from editing any resource in the course.
    Excepción - Class "format_tiles\output\courseformat\content\cm\controlmenu" not found

    If I choose another format the error disappears and I can edit the course.
    How can I fix it? Thank you very much
  • Adam H
    Rab, 17 Apr 2024, 7:31 PM
    Hi there. Since the last update, we seem to have lost the completion status on all individual activities on a course page (for example, on a SCORM activity, there should be a bubble reading 'To do: complete the activity' above the activity title). I can't seem to find anything within the Tiles settings that may have changed regarding this. On other course formats (Grid, for example) the completion status is there, so it seems to be an issue with Tiles. We are on Moodle 4.2, using the Space (v2.5.18) theme. Many thanks.
  • Asad Hameed
    Sel, 30 Apr 2024, 7:00 PM
    I also updated the Tiles to new version and getting following error when editing:
    xcepción - Class "format_tiles\output\courseformat\content\cm\controlmenu" not found

    How can it be fixed.
  • David Watson
    Sab, 4 Mei 2024, 12:40 AM
    @Javier and @asad this may be a file permissions issue on your server. Did you check the permissions on the file /course/format/tiles/classes/output/courseformat/content/cm/controlmenu.php and that your web server is able to access it? You don't say which Moodle version you are using but I assume 4.1 or higher.

    @Queenie sub-tiles were only shown to editors until Moodle 3.11. To save effort on the upgrade, they only appear to students from Moodle 4.0. They will be shown to editors again in a later release but it was a lower priority than getting other things working

    @Ben thanks for the comment and I'm glad it helped!

    @Birgit unfortunately the code does not cover that use case at present
  • Yannis Maragos
    Isn, 13 Mei 2024, 2:59 PM
    Hi David,

    It would be great if you could update format.php to use methods from the renderer instead of
    using render_from_template() directly. This would allow us to override the renderables in the theme.
    For example:

    public function render_multi_section_page($course) {
    $templateable = new \format_tiles\output\course_output($course, false, null, $this);
    $data = $templateable->export_for_template($this);
    return $this->render_from_template('format_tiles/multi_section_page', $data);

    public function single_section_page($course, $displaysection) {
    global $SESSION;
    $SESSION->editing_last_edited_section = $course->id . "-" . $displaysection;
    $templateable = new \format_tiles\output\course_output($course, false, $displaysection, $this);
    $data = $templateable->export_for_template($this);
    return $this->render_from_template('format_tiles/single_section_page', $data);

  • Stephan Robotta
    Jum, 24 Mei 2024, 3:32 AM
    Hi David,

    I used your plugin in a 4.5dev Moodle with PHP 8.2.13 installed. Due to the fact that I have enabled warnings, I got a few errors that I had to fix before using the plugin. I also created a pull request for these changes for your master branch.

    Best regards, Stephan
  • Wynand Louw
    Sab, 1 Jun 2024, 11:18 PM
    Hi David

    When using the experimental feature in Moodle 4.4+ nothing on the left Course index is showing.
    Use course index format_tiles | usecourseindex

    Using Boost Union and LearnR template.

    Thanks for this wonderful layout.

    When I want to register the plugin, I also get an error. Your tiles plugin is not yet registered with the plugin developer:

    Exception - Too few arguments to function format_tiles\registration_manager::make_curl_request(), 2 passed in [dirroot]/course/format/tiles/editor/register.php on line 68 and exactly 3 expected
  • Wynand Louw
    Sel, 4 Jun 2024, 12:21 AM
    I have upgraded to the new version 2024051800 but the registration error remains the same.
    The Experimental feature is now working and showing the index in the left column.
  • Wynand Louw
    Ahd, 14 Jul 2024, 11:04 PM
    David, why are some photos displayed in black and white and not colour when replacing the Icon?
  • Owain Jones
    Sab, 20 Jul 2024, 11:53 PM
    Great work on this format. It looks great.

    Unfortunately, filters only seem to work when a tile is loaded the first time, but do not seem to be applied when the tile is clicked for a second time. Filters are also not applied to Pages that are opened (in pop-up mode). Did you call the format_text() function on these?

    Thanks again.
Please login to post comments