Blocks: Custom Course Menu

Maintained by Picture of Tony Box Tony Box, Picture of Matthew Davidson Matthew Davidson
A block to display enrolled courses in a highly configurable manner for both students and teachers.
116 sites
19 fans

Custom Course Menu Block

A block to display enrolled course in a configurable manner for both students and teachers.


  • Simple install
  • Intuitive controls
  • Manually hide courses or categories from the list
  • Customize sort order of courses and categories
  • Expand/collapse course categories
  • Favorites "category"
  • Last # viewed courses "category"
  • Site administrators get an All courses... link


  • Moodle 2.1+


Simply rename the moodle-block_custom_course_menu to custom_course_menu, move the folder into your blocks directory, and run the Notifications admin link.


  1. Turn block editing mode on by clicking the gear icon in the bottom right corner.
  2. Hide courses and cateogires by clicking the eye icon next to them. When a course or category has its eye shut and is strikethrough it is hidden.
  3. Sort courses and categories by dragging them into the order you would like.
  4. After you are finished customizing your course menu, click the gear icon once again to save your changes and turn editing mode off.

Developed by the University of Portland. Many features and additions contributed by Syxton


Screenshot #0
Screenshot #1
Screenshot #2


Picture of Tony Box
Tony Box (Lead maintainer)
Picture of Matthew Davidson
Matthew Davidson: Developer
Please login to view contributors details and/or to contact them

Comments RSS


  • Picture of David Mudrák
    Mon, 23 Nov 2015, 10:29 PM

    Thanks guys for sharing this useful block with the community. I found it working well from usability perspective. When reviewing the code, I raised some suggestions for fixes into your issues tracker at github. I believe they would be better fixed before we approve the block here. Thanks for your patience with the review and approval process.

  • Picture of David Mudrák
    Mon, 29 Feb 2016, 7:06 PM

    Please see my comments on issue #15 regarding the sesskey checking.

  • Picture of Tony Box
    Fri, 11 Mar 2016, 7:58 AM
    Hi David,

    I believe we've got all of your concerns properly buttoned-up now. Sorry for all of the resubmissions.

  • Picture of David Mudrák
    Mon, 4 Apr 2016, 6:13 PM

    Hi Tony. Thanks for fixing the issues promptly. If only I was also able to react on them same promptly! Sorry for the delays with the review.

    I checked your latest code again but did not get too far with testing. I was immediately stopped by the issue #26 on PostgreSQL machine. Let me suggest to equip your block with PHPUnit and Behat tests and let these tests run via Travis CI on both MySQL and PostgreSQL to catch these things yourself.

    Additionally, my comment on issue #15 from 29 Feb does not seem to have been addressed. Actually it makes me believe that it can't work as it is now.

    I am sorry but I have to mark this as needing more work once again. Thanks for understanding.

  • Picture of Tony Box
    Wed, 18 May 2016, 2:50 AM
    David--please see my reply to issue #15 when reviewing this again. Thanks!
  • Picture of David Mudrák
    Wed, 1 Jun 2016, 9:14 PM

    Hi guys. Please see my comment left in the tracker. For now, I am happy to approve this. You are cleared to land, welcome to the Plugins directory.

  • Picture of JOSE LUIS ANSÓ
    Thu, 27 Apr 2017, 10:09 PM
    Hi Tony, in the event of a course located under category1>category2>category3, is it possible to show full path of categories? As far as I can see the only category showed is the one that contains the course. Many thanks!
  • Picture of Tony Box
    Tue, 9 May 2017, 1:48 AM
    Jose. Unfortunately, that is not a feature of the plugin. If you'd like to add it as maybe an admin menu option, to enable/disable, feel free to create an issue/request on the plugin's github page here:
  • Picture of Tony Box
    Tue, 9 May 2017, 1:49 AM
    Sorry that was kind of unclear. If you'd like to add it to the request list, please add it to github smile

Commenting temporarily disabled