Navigation buttons

Blocks ::: block_navbuttons
Maintained by DavoDavo Smith
Add customisable navigation buttons (next/prev/etc.) to the bottom of each activity page (Moodle 1.9/2.0+)
Latest release:
648 sites
41 fans
Current versions available: 4


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. If you are running a version of Moodle earlier than 3.10, 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:


Screenshot #0


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

Comments RSS

Show comments
  • Sun, Oct 4, 2020, 9:31 PM
    What a fantastic service, Davo! And on a Sunday. smile Now the buttons work perfectly, also on a page with embedded questions. Thanks x1000!
  • Thu, Jan 6, 2022, 5:07 PM
    I installed it on Moodle 3.11.4, but once the database is updated Moodle did not work and responded with a message that it is under upgrading. At this moment, I had to remove navbuttons manually.

    The readme file says that this version does not need to have core changes.
  • Davo
    Thu, Jan 6, 2022, 5:10 PM
    It is correct that Moodle 3.11 does not need any core changes to work with this plugin (certainly with the standard core theme, it is possible that a non-standard theme might override the footer code and might prevent this plugin from working).

    I've not seen any issues installing the plugin on Moodle 3.11 - it really doesn't do anything much during install (adds 2 standard capabilities + 1 DB table), so I would be very surprised if it could cause an issue. I'll see if I can double-check when I have a moment.
  • Thu, Jan 6, 2022, 5:19 PM
    Thanks so much Davo for your quick response. Yes, actually, I am using non-standard theme and trying to fix a navigation issue with the theme itself. If this plugin works for me, that would be great.

    Thanks a lot
  • Davo
    Thu, Jan 6, 2022, 5:40 PM
    Just to confirm, I quickly installed a fresh copy of Moodle 3.11, then installed the navbuttons block. The install worked without any problems. Maybe you could check your server error logs and see if there is a specific error message to investigate?
  • Tue, May 17, 2022, 9:22 PM
    This plugin is great for adding navigation buttons to Moodle 4.0. The navigation buttons work fine but I'm getting an error message when clicking on the completion button: "An error occurred when attempting to mark your activity complete". This happens using Boost and at least 2 other Moodle 4 ready themes. Nothing in server log. Has anyone else experienced this? Any hints as to how to narrow down the problem? Thanks!
  • Wed, May 18, 2022, 6:51 PM
    Well, I can answer my own question: the error in completion.js is resolved by removing the first 'if' clause. With that change the script does correctly update completion status of a task, however, it does not trigger update of the completion icon on the course index, as does the official Mark as Done button. So, I don't think the completion button, as is, is suitable for use in 4.0.
  • Davo
    Wed, May 18, 2022, 6:55 PM
    Hi Joanne - if you want to report a bug, please use the 'bug tracker' link in the plugin details, as that's a lot easier for me to keep track of than comments here.

    It looks like you are correct that there is a bug in that particular button type - it's not part of the original development (it was contributed by another developer), so it's not directly on my radar for testing during upgrades. However, if it has stopped working, then I'll try to find a bit of spare time to investigate / fix.
  • Wed, May 18, 2022, 6:59 PM
    Hi Davo, Sorry about that! I'm not used to using the Moodle forum. I've described the fix and end result so maybe that is sufficient for now. Many thanks for your reply.
  • Davo
    Sat, May 28, 2022, 8:05 PM
    Hi Joanne. The 'Mark complete' button now toggles correctly in Moodle 4.0. It does _not_ update the new 'Mark as done' button, that is also shown on the page in Moodle 4.0 (you need to refresh the page to see that update), nor does it get updated when the 'Mark as done' button is clicked (again, you need to refresh the page to see that update).

    It does, however, correctly update the completion state and doesn't show an error popup, so hopefully that is a good enough fix (I'd be happy to review a patch from anyone keen to produce a more complete fix).
  • Sun, May 29, 2022, 6:39 PM
    Hi Davo. Thanks for the update
  • Wed, Sep 14, 2022, 4:04 AM
    Hi, I installed the Navigation Buttons plugin but the buttons don't appear at the end of any activities.
    Running Moodle 3.9.17
    - After installing the plugin, settings were set to "Always show" for all activity types
    - I was then able to add the block to my course
    - In the Navigation Buttons block settings, all buttons were set to "Show"
    - At the end of the Navigations Button Block settings I have the message: "Navbuttons self-test: required core modifications have been completed successfully"
    - But in my course activities the Navigation Buttons are not there.
    Any suggesstions would be welcome.
  • Davo
    Thu, Sep 15, 2022, 1:12 AM
    Hi Daniel,

    If you use the 'view page source' feature of your browser and search for 'Navbuttons start' in the HTML of the page, then you should see something that looks like this:
    [the navigation buttons content OR a message about why they are not being output]
    If that doesn't explain what is going wrong, then copy that section of the HTML and send me a direct message or email and I'll see if I can figure it out.
  • Tue, Jan 31, 2023, 1:25 AM
    Hi Davo,
    Many thanks for a very useful plugin. Well-designed, easy to use, does just what it says. Well-done!
  • Fri, Feb 3, 2023, 7:28 PM
    This is a great plugin for replacing the activity navigation that used to exist pre 3.11 however, I would just like to point out that the buttons are static i.e. the Next and Previous links are not dynamically updated if the activity changes state to completed - they update on page refresh. This matters if you have dependencies between activities.

    This is no different to how activity navigation in the footer used to behave in Moodle, so it's most definitely not a criticism of this plugin. But I thought it might be helpful to highlight for those thinking of using this plugin for navigation between activities with completion criteria.
1 2 3 4 5 6 7 8 9 10 11
Please login to post comments