Blocks: Course contents

Maintained by Picture of David MudrákDavid Mudrák
Course contents block displays a list of all visible sections (such as topics or weeks) in the course. Clicking at a link scrolls to that section or displays just that particular section, depending on the course layout setting.
1214 sites
69 fans
Current versions available: 11

Build status

Course contents block is a plugin for Moodle that displays a list of all visible sections (such as topics or weeks) in the course. Clicking at a link scrolls to that section or displays just that particular section, depending on the course layout setting.

If the section name is explicitly defined, it is displayed in the course contents outline. If enabled, the block can eventually extract a suitable section title from the section summary text.


In older Moodle versions, course sections could not be named explicitly. Many teachers used to put headings manually to the course summary text fields. This block did an awesome job that it automagically extracted these headings from the summary fields and generated a nice course contents from them.

This feature is still available but it is less useful in modern Moodle versions where course sections can have explicit section titles defined.

Automatic section title

If the section name is not explicitly defined and the auto title feature is enabled, the block automatically extracts a suitable title for the section from the section summary text.

If the summary starts with a heading (H1, H2, H3, etc), the heading will use such heading text. If the summary starts with a bold text, it will be used as a section title. If the summary consists of several paragraphs, the first one will be used.

Technically speaking, the plain text content of the first non-empty HTML DOM node from the section summary can be used as the summary title.

Tips and features

  • Section titles can be enumerated.
  • You can combine the auto title feature with the multi-language filter to generate course contents in the user's language.
  • The block fits nicely into multipage course layout (introduced in Moodle 2.3).


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4


Picture of David Mudrák
David Mudrák (Lead maintainer)
Picture of Dan Marsden
Dan Marsden: Contributor
Picture of Petr Skoda
Petr Skoda: Contributor
Picture of Nicolas Dunand
Nicolas Dunand: Contributor
Please login to view contributors details and/or to contact them

Comments RSS


  • Picture of Aarij Siddiqui
    Wed, Apr 29, 2015, 8:32 PM
    Thanks David... I found a work around. But the problem with majority of the plugins is that they are not supported in the latest version of moodle! Which is very unfortunate. If you know how to edit plugins to work in the latest moodle version, I would be glad if you can guide me.
  • Picture of David Mudrák
    Thu, Apr 30, 2015, 2:52 AM

    Well, in many cases, the plugins published here for a version X usually work pretty well in versions X + 1, too. You can try and see.

  • Picture of David Mudrák
    Sat, Jul 30, 2016, 2:10 AM

    New versions 4.0 (for Moodle 2.7, 2.8 and 2.9) and 5.0 (for 3.0 and 3.1) were just released. Among other improvements, the new version provides a way to control how the course contents blocks are displayed in courses, including ability to disable enumeration of items in all block instances. See release notes for more details.

  • Picture of James Fontes
    Thu, Aug 4, 2016, 8:08 AM
    I love this plugin. Installed in a Moodle 3.1 installation. It really helps with navigating a course. Would it be possible to add an option to include the section's dates, as well as the section name, when using the weeks format for a course? That would make this perfect for what I need. Student's could then not only scroll through the list of topics from the course sections, but can look through the dates as well. I found a hack for the lib.php file that would do that outside this plugin, but the hack is not complete and breaks the ability to backup a course.
  • Picture of David Mudrák
    Mon, Aug 8, 2016, 3:12 PM

    Thanks for the suggestion James. Can you please report it as a feature request in the plugin tracker. I think I have an idea that might fit any course format: optionally display the implicit section title (date, topic number etc) even when the section has an explicit title.

  • Picture of Dave Perry
    Thu, Oct 13, 2016, 8:31 PM
    I have just installed this to a test environment using a very recent (two week old) build of 3.1.2. Even with 'attempt to enumerate titles from topic summary' enabled, it failed to do so when tested (I set the topic title to be a whitespace character, so no topic title displays on the page, but the topic title was blank in the block too).
  • Picture of David Mudrák
    Tue, Oct 25, 2016, 4:59 AM

    Sorry to hear you have troubles with the plugin Dave. May I ask you to report the issue with as many details and steps to reproduce as possible at the plugin's issue tracker Thanks in advance.

  • Just wondering . . .
    Sat, Nov 26, 2016, 4:27 PM
    David, are you thinking about an update for Moodle 3.2?
    Anyone: as David says, often version for X works with X+0.1 - has anyone tested?

  • Picture of David Mudrák
    Mon, Nov 28, 2016, 6:17 PM

    I'll try to look at updating my plugins for 3.2 this week. Any help with testing current versions will significantly help, thanks in advance!

  • Beat Schweitzer
    Wed, May 31, 2017, 9:16 PM
    Hi David,
    is this plugin continued? I used it in Moodle 3.2 without noticing any issues. After updating to Moodle 3.3 I only see the section 0 as navigation point which makes this plugin pretty useless in Moodle 3.3.
    Best regards, Beat
  • Picture of Nicolas Dunand
    Fri, Jun 2, 2017, 4:11 PM
    Hi Beat, hi David,

    Observing the same thing here. I think it only comes down to commenting out 3 lines in block_course_contents.php (the IF block containing $course->numsections), as $course->numsections is not relevant anymore due to MDL-57769.
  • Picture of Nicolas Dunand
    Fri, Jun 2, 2017, 4:17 PM
    Hi David,

    I just filed a PR on GitHub offering a fix for this.
  • Beat Schweitzer
    Fri, Jun 2, 2017, 4:35 PM
    Hi Nicolas,
    thank you for providing this fix. Now all the sections are there again.
  • Picture of David Mudrák
    Fri, Jun 2, 2017, 8:23 PM

    Good catch! Thanks Beat for reporting this, and many thanks Nicolas for fixing it promptly. I have included the fix in the version 5.1 of the block for Moodle 3.3.

  • Picture of adan martinez
    Tue, Oct 17, 2017, 2:50 AM

    Great work with this plugin,

    However i got a question to David, how can i translate to spanish all sections?, i mean stuff like navbar text, progress bar text and notes and doubts section.
    i unpacked the plugin but i can't find anything.

    Thanks in advance!!!

Please login to post comments