Multitopic format

Course formats ::: format_multitopic
Maintained by James Calder
Shows multiple topics per page, with tabbed navigation between pages. Topics are collapsible, and can optionally be timed.
Latest release:
1890 sites
65 fans
Moodle 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11

Shows multiple topics per page, with tabbed navigation between pages. Topics are collapsible, and can optionally be timed.

Developed at Otago Polytechnic


  • Tabbed pages (like Onetopic format)
  • Multiple topics per page (a bit like Flexible Sections format)
  • Collapsible topics (like Collapsed Topics format)
  • Optionally timed topics (like Weekly format)
  • Course banner image (like Snap theme)
  • Section images (a bit like Grid format)


  1. Copy files to moodle/course/format/multitopic
  2. Log in as an admin, and visit moodle/admin/index.php, to update plugin data
  3. Site administration > Appearance > Additional HTML > Within HEAD (or other location appropriate for CSS): Copy and paste styles from README_styles.css (customising appropriately)
  4. Site administration > Appearance > Themes > Theme settings > Allow category themes: Yes (if you want categories to have custom CSS)

Video walkthrough

(You will probably need to open the video full screen to see it properly. Also it is a bit outdated, because topic collapsibility now has its own setting, and is no longer tied to the topic duration setting.)


Screenshot #0
Screenshot #1
Screenshot #2


James Calder (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Fri, Aug 14, 2020, 8:49 PM
    Hi James,

    great work. Will the plugin be compatible with Moodle 3.9 and future Versions?

    Kind regards
  • Sat, Aug 15, 2020, 7:51 AM
    Hello Jens,
    Thanks. smile There should be a release for Moodle 3.9 within the next couple of months. Longer term, it depends on it continuing to be a priority for my employer. I think signs are positive, although there's restructuring under way in the tertiary sector in New Zealand, and financial pressure from loss of international students due to Covid-19, so it's not guaranteed.
  • Fri, Oct 9, 2020, 4:22 PM
    Thank you! this is exactly what I am after.
  • Fri, May 28, 2021, 8:22 PM
    Hi, tnks for amazing plugin! exact what I need. The only problem I got is the course title now is so small.. I didnt like the plugin to change my course title =[
  • Sat, May 29, 2021, 1:00 PM
    Hi Felipe,

    If the course title is small, I suspect the CSS has not been copied from the file README_styles.css. See here:

    Alternatively, you could use CSS to revert banner changes, as described here:
  • Thu, Jun 3, 2021, 5:18 AM
    Tnks a lot James, now its ok! Only one more question: all topics are collapsed by default, even in topics that are not empty. Can I change it anywhere?
  • Wed, Jun 16, 2021, 9:12 AM
    Hi Filipe,

    Sorry, I read this message, then got side tracked, and forgot to come back to it.

    There isn't really a feature for not collapsing topics by default. The thought was that usually students will only need to expand the topic they are working on, and making topics collapsed by default will let students scroll to that one faster.

    If a topic is set to Topic duration "No time", then it will not collapse at all. This is intended for "topics" containing assignments that do not have time set aside for them specifically, but rather students are expected to work on them during other topics. It is a bit of a hack to use this just to prevent topics collapsing, though, and it means the topic duration feature can't be used.
  • Wed, Jun 23, 2021, 7:38 PM
    Great course format. Thanks for sharing!!!
  • Wed, Jul 21, 2021, 5:23 AM
    Hi James. Love your course format! Just asking.. Id like to insert some css in each section to create a scroll of "blocks" with diferent colors and images as background. Do your know how to do it? or what I have to search for to do it? tnks!
  • Fri, Jul 23, 2021, 11:33 AM
    Hi Felipe,

    If I understand you right, you want to add CSS styles to sections? Sorry, I don't think there's really a good way to do this. I think CSS has to be specified either inline or in the HTML HEAD block, so it can't be entered elsewhere, like a section summary, and be made to apply to the section. And the Multitopic format doesn't have a feature for specifying CSS for sections.

    I guess it would probably be possible to do this with JavaScript, although it's a messy hack. Entering something like the following in a section summary (replacing curly braces with angled brackets, and xxx with the section id) should put a pastel-blue background behind the section.

    document.querySelector("ul.sections li.sectionid-xxx .content").style.backgroundColor = '#ccf';
  • Tue, Sep 21, 2021, 3:15 PM
    Thanks for amazing plugin! It's really great and cover the previous three course formats - wow smile
    One problem - this format does not respond to Multi-Language Content filter. If course name coded with Moodle multilanguage in this format shows both names.
  • Thu, Sep 23, 2021, 9:35 AM
    Hi Danutė,
    Thanks for reporting this, I think it's fixed in the latest release.
  • Thu, Jan 27, 2022, 9:43 PM
    Dear all, James,

    First of all, thanks for this great format ! I am trying to build my own moodle. So far I was not doing so bad, but now I have en issue I don't know how to deal with... Maybe you can help ?

    I want my course to have one layer of tabs. Kind of the main menu of the course. And then, in each tab, a set of collapsable sections.
    So just two levels... I succeed in doing that with the pluggin but the name of the main tab section is repeated 3 times : one in the first tab level, one in a second tab level (don't know why this one appears) and one for a collapse section. But I just want it to be display in the main level.
    To make it more clear, you can see a screencast here...

    Is it possible ? Maybe the issu comes with the theme (Lambda) ?
    If I can maybe just get read of the second level of tabs which is useless...

    Thank you so much if you can tell me how to fix it, or at least tell me it can't be done so I stop insisting on finding a solution smile


  • Fri, Jan 28, 2022, 3:52 PM
    Hi Leslie,

    A second level of tabs shows when editing is on--this is so there is a place to put the + button for adding second level tabs. If you don't add any second level tabs, then this should disappear when editing is turned off, and it shouldn't show for students.

    There isn't an option for hiding the section heading for pages, although if it is OK to hide these in *all* Multitopic courses on your server, you could probably do it with CSS like:
    body.format-multitopic ul.sections li.section.section-page .content .sectionname { display: none; }
    A Moodle administrator would need to add this, and it could go in Site admin > Appearance > Additional HTML > Within HEAD, inside a style tag.

    I hope this helps.

  • Fri, Jan 28, 2022, 6:13 PM
    Thank you so much for your prompt and relevant answer. You were right (and I feel a little bit silly ;) ) that the second level desapear once the editing mode is turned off.
    And the style you give me works like magic. I have exactly what I need. Again, thanks a lot !!!

1 2
Please login to post comments