Your Moodle version

Other: Navigation buttons

Maintained by Davo Davo Smith
Add customisable navigation buttons (next/prev/etc.) to the bottom of each activity page (Moodle 1.9/2.0+)

Navigation buttons (for Moodle 1.9 / 2.0+)
This block adds customisable navigation buttons (first/previous/next/etc.) to the bottom of each activity/resource page in a course.

It is based on an idea from Penny Mondani:
Thanks also to the US company that sponsored the development, who wish to remain anonymous.


  1. Download the file and unzip it somewhere convenient.
  2. On your server, in the 'blocks' folder, create a subfolder called 'navbuttons'
  3. Upload all the files inside the 'davosmith-moodle-navbuttons-???????' folder to this new 'navbuttons' folder on your server.
  4. Log in to your Moodle site as an administrator and click on the 'Notifications' option in the Admin settings block.
  5. You need to make a small change to one Moodle core file to make this work (the change is different between Moodle 1.9 & Moodle 2.0 - see the included README.txt for details).
  6. Add the block to a course (turn editing on, select 'Navigation Buttons' from the 'Blocks - Add' menu)
  7. Customise the button appearance by clicking on 'Edit the Navigation Button settings' in the newly created block.
  8. Check the message at the bottom of the screen (under the 'Save changes' button) - it should read "Navbuttons self-test: required core modifications have been completed successfully". If not, then go back to step 5 above and check carefully.

Note: The block is only visible to users who are able to edit courses modules. Deleting the block will remove the navigation buttons (they can also be disabled through the settings).

For a quick demo, there is a screencast available here:




Davo Smith (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Dimo Dimov
    Sat, Sep 28, 2013, 6:39 PM
    Well the problem comes from the theme. We use Essential theme and Navigation buttnos doesn't work, when switch to standart theme the message is: Navbuttons self-test: required core modifications have been completed successfully.
    Any idea what do I have to change to make this wonderful plugin work with essential theme?
  • Davo
    Mon, Sep 30, 2013, 3:58 AM
    Dimo - almost certainly by making the same change to the footer() function in theme/essential/renderers/core_renderer.php, but I've not tried it, so you'll just have to see what happens (please post here if it works or not, but I can't really provide much more support than that).
  • Picture of Dimo Dimov
    Mon, Sep 30, 2013, 6:16 AM
    That's it, now it works! Davo, thank you very much for your support and for the useful moodle plugin.
  • Picture of Jake Anon
    Wed, Oct 2, 2013, 8:56 AM
    Great plugin! Thanks for the work. The one change I would like to see is making it so that if the course that would normally be linked to by the "Next" button isn't available because of completion requirements, then the button should be greyed out and disabled rather than going to some other activity later down the line that is available. Thanks again!
  • Davo
    Wed, Oct 2, 2013, 2:25 PM
    Jake - I think it would be very difficult to guess whether the teacher wanted that or wanted to skip activities that weren't available (for example, I assume that 'hidden' activities should still be skipped over and the next activity selected, the same for 'groups only' activities). I think it would also be confusing to users working through the course if they were stopped half-way through the course by a single activity that isn't currently available.
  • Picture of Hugo Callens
    Sun, Oct 6, 2013, 1:37 AM
    Thank you for this great plugin!
    I have one question though: where can I style the navbuttons? All CSS seems to be inline.
  • Davo
    Sun, Oct 6, 2013, 1:43 AM
    Hugo - you can change the icons or the colours via the settings page for the plugin.
  • Picture of julie mcloughlin
    Wed, Oct 9, 2013, 2:09 PM
    hi Davo - love the plug in, but I agree with Jake. the way it is, people miss parts of the course with out even knowing it. Maybe this could be an option for those like Jake and I who prefer them not to be able to continue on until conditions are met??
  • Picture of iinf que
    Sat, Oct 19, 2013, 5:42 AM
    Davo, thank you so much for this nice module. I am able to implement it. Please also add essential and other themes specific troubleshooting in README file. I shall be grateful to you.
  • MattLanning
    Fri, Nov 22, 2013, 2:31 AM
    Thanks for developing such a great plugin. We are planning to upgrade to Moodle 2.6 soon and were wondering if a new version of navbuttons will be released or if this version will work as is. Thanks.
  • Davo
    Fri, Nov 22, 2013, 6:22 PM
    Matt - the version on github is working with Moodle 2.6 - I'll be doing a big update of all my plugins on in the next few days.
  • Picture of David Moreno
    Thu, Apr 10, 2014, 3:26 AM
    Hi! Thanks for such a great plugin! The pulgin it's working for any activity I create, but for resources (web content), it doesn't work. Do you know why is this happening ?
  • Davo
    Thu, Apr 10, 2014, 6:46 PM
    David - please read through the instructions in the 'any problems' section of the README.txt file included in the plugin:
  • Picture of Tom Crick
    Wed, May 21, 2014, 7:07 PM
    Hi Davo,
    I'm running Moodle 2.6+ (Build: 20131129)

    When I try and install this through the ADMIN > Plugins it fails validation and I get the following error message:

    Error Invalid add-on name: davosmith-moodle-navbuttons-b8f320e

    The help message says:

    "The name of the root directory in the ZIP package violates formal syntax requirements. Some ZIP packages, such as those generated by Github, may contain an incorrect root directory name. You need to fix the name of the root directory to match the add-on name."
  • Davo
    Wed, May 21, 2014, 7:18 PM
    Sorry - that is because won't let me upload it as a 'block' plugin (due to the required core modification).
    You must download the plugin manually, rename it to 'navbuttons', install it into the 'blocks/' directory on the server and make the required core code modification.

    There is no way to enable automatic installation of this plugin.
1 2 3 4
Please login to post comments