Other: Navigation buttons

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

Travis build status

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: http://pennymondani.com
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:


Screenshot #0


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

Comments RSS


  • Davo
    Tue, May 16, 2017, 3:43 PM
    Not sure what has happened - I've pulled the code in as usual from github. You can still download it yourself directly via the 'source control url' link. I'll try importing it again.
  • Picture of Daniel Miller
    Fri, May 19, 2017, 12:23 AM
    Hi, as I write the latest available version appears to be an empty zip file.
  • Davo
    Fri, May 19, 2017, 2:36 AM
    Hi Daniel - thanks for letting me know. I don't know what is going on, as I've been importing it from github as usual, so I don't know why it hasn't worked this time. I've re-uploaded it and double-checked that it has worked this time.
  • Picture of Daniel Miller
    Tue, Jun 6, 2017, 10:58 PM
    Hi Davo, I'm no expert on how the Moodle systems work but I notice that the folder in your archive is called davosmith-moodle-navbuttons-eb00d1e where I think it would be more normal for it to be called navbuttons. I hope this helps.
  • Davo
    Tue, Jun 6, 2017, 11:01 PM
    This is because the plugin has been categorised as 'other' instead of 'block' (due to the required small core change). The import process does not work properly due to this categorisation - there isn't anything I can do to fix this (other than to manually upload the zip file, instead of importing from github).
  • Picture of Thomas Weiland
    Tue, Jul 25, 2017, 9:22 PM
    Plugin works great and looks fine. But is it possible to enable it for using in the iOS-App in any way? The buttons are not visible there.
  • Davo
    Tue, Jul 25, 2017, 9:24 PM
    I don't know any way it could be made to work with the iOS app, without rewriting the app itself.
  • Picture of julie mcloughlin
    Tue, Aug 22, 2017, 1:16 PM
    Re: nav button plug in
    by Dani Palou - Monday, 21 August 2017, 7:18 PM

    the app only supports core features of Moodle. We created a remote addon feature to support 3rd party plugins. The plugin maintainers should be the ones to create this remote addon and include it in the plugin.
    However, please notice that the app doesn't support blocks. If the plugin you're mentioning is a block, it will be quite hard to make it work using a remote addon. We're still studying how can we support blocks in the app, so we won't support them in the short term.
    Kind regards,
    Show parent | Reply
    See this post in context

  • Picture of Derick Turner
    Thu, Aug 31, 2017, 7:31 PM
    The current 3.3 version of this plugin unzips to a directory called davosmith-moodle-navbuttons-c0aff46 and not, as I would imagine, navbuttons. I renamed the directory and it installed fine afterwards.
  • Davo
    Fri, Sep 1, 2017, 1:13 AM
    Derick, please scroll up slightly and read the answer I already gave to this on 6th June
  • Picture of Robbie Forrest
    Mon, Sep 25, 2017, 7:49 AM
    Great block! It would be good if you wrapped the button input in a label or made it a button so that pseudo selectors could be used with it. It would also be helpful to put settings in the configuration to add custom css classes to the elements such as bootstrap btn. Finally, it would be really awesome if instead of being able to turn it on only for every page, if you could actually show or hide the buttons at the page level. Hiding the block doesn't hide the buttons.
  • Davo
    Wed, Sep 27, 2017, 2:09 AM
    Robbie - if you have a suggestion for a code change, you are welcome to open a pull request on the github repo. The function you'll want to look at modifying to change to button output is the 'make_navbutton()' function in footer.php.

    I'm not sure what you mean by 'hide the buttons at the page level' instead of 'being able to turn it on only for every page'. Adding the block to a course works as a flag to turn on nav buttons for the course, removing the block from the course turns it off again. Not the best design ever and I wouldn't do it this way if I was writing the plugin today. However, I'm not planning on a major rewrite anytime soon.
  • Picture of Derick Turner
    Fri, Oct 6, 2017, 5:09 PM
    Hi Davo, the latest version downloadable from the link extract into a folder called davosmith-moodle-navbuttons-c0aff46 and not navbuttons.
  • Davo
    Fri, Oct 6, 2017, 5:11 PM
    Yes, Derick - you already told me this on the 31st August, and had already answered this question on the 6th June.
  • Davo
    Fri, Nov 10, 2017, 3:37 AM
    Seems to be working fine with Moodle 3.4
Please login to post comments