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+)
477 sites
27 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


  • Martin Dougiamas
    Thu, Sep 1, 2011, 10:57 AM
    Not sure if the core hack is acceptable here ...
  • MD shot of me from his iphone4
    Mon, Aug 20, 2012, 11:32 AM
    I've noted that this plugin uses yui2 libraries.
    Do note that moodle version 2.4 (in development) has moved from using yui2 to yui2in3 as described by MDL-34741.
    Here is a link to using yui2in3 : http://yuilibrary.com/yui/docs/yui/yui-yui2.html
  • June 2007
    Wed, Dec 19, 2012, 12:07 PM
    The core hack is not required. You can simply override the core renderer's footer method in the theme's renderers.php file
  • Davo
    Wed, Dec 19, 2012, 4:00 PM
    @Nicolas - that is a possible solution, however it is only relevant to sites using a custom theme (if they are using a core theme, it is still a core hack), needs doing for every theme used on the site (especially if you allow users to choose 'per course' or 'per user' themes) and, potentially, requires slightly different instructions for every theme edited.
    Basically, if you know enough to have a custom theme on your site, you are probably capable of doing the necessary modification to make the navigation buttons work without further instructions. If you are not able to do this, then I've made the instructions as straightforward as they can be.
  • Picture of Rangga Wiratno
    Sat, Dec 29, 2012, 1:28 PM
    Nice block, been using it for the past 6 months. But since upgrading to Moodle 2.4, the Site Administration>Plugins>Blocks>Navigation Buttons link is missing. How do I manage the global setting for NavButtons now?
  • Davo
    Sat, Dec 29, 2012, 5:52 PM
    Ragga - the code for that part has not changed in the Moodle 2.4 and should be working exactly as before. If it isn't, then it is a bug that I need to investigate, when I am back at my computer again next week.
  • Davo
    Mon, Dec 31, 2012, 5:13 AM
    @Rangga - that should now be fixed. Not sure why it was ever working in 2.3 (must have been a bug!), but should work fine in all versions now.
  • Germán and Temudgin
    Tue, Jan 1, 2013, 12:12 AM
    Hi Davo,
    I am afraid the navigation buttons plugin does not have the English strings available for translation in AMOS. Could you please check the code for a cause and/or ask David Mudrak about it?
    Thanks in advance for your help.
  • Davo
    Tue, Jan 1, 2013, 12:39 AM
    @German - I'm a bit mystified about this. The last couple of times I've updated this plugin, it's failed to pick up any of the automatic data from version.php, the README file or the English language strings (even though it works fine for all my other plugins).

    I've opened a tracker issue to see if anyone can figure out what is going wrong - https://tracker.moodle.org/browse/MDLSITE-2072
  • Picture of Rangga Wiratno
    Wed, Jan 2, 2013, 6:24 PM
    Thanks Davo, I've confirmed now that the Settings is now accessible ;)
  • Me, with my new 'slow explosion' hair!
    Wed, Mar 6, 2013, 11:43 PM
    Hi Davo.

    The powers that be that I report to have asked me to change some of the default settings, so that when the block is installed in a course, it's already set up exactly as we would like. This has been generally achieved through changing defaults in db/install.xml, however one of the options (which we're using the 'extra1' option for) is a link to /my/, and although I can set 'extra1show' and 'extra1openin' values appropriately, I cannot set a default for the URL or the title (Moodle complains about not allowing defaults for those columns). Any idea how this might be accomplished?

    What I could do for our situation is simply edit the defaults for those two columns directly in MySQL after the block has been installed, but this is a bit hacky and I would prefer not to do it like this. Any change we can make to our code, which is preserved in the repository, is preferable.

    Thanks, and keep up the good work.

    Paul. smile
Please login to post comments