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:
715 sites
186 downloads
44 fans
Current versions available: 4

badge.svg

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.

Installation:

  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:

Screenshots

Screenshot #0

Contributors

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

Comments RSS

Comments

  • Davo
    Tue, 5 Dec 2017, 1:06 AM
    Jose - just reverse the changes to outputrenderers.php that you made whilst installing the plugin (for reference, the instructions are here: https://github.com/davosmith/moodle-navbuttons/blob/master/README.txt#L35 )
  • Inter Jos
    Tue, 5 Dec 2017, 1:24 AM
    that's it, I forgot I changed that file. Works now, thanks.
  • marisol castro
    Thu, 21 Dec 2017, 5:45 AM
    Hi Davo,

    I modified the outputrenders.php file as instructed in the readme file but mine still does not work. I am running Moodle 3.3 with the Adaptable 1.5.3 theme.

    The output says Navbutton self-test: The line "$output = draw_navbuttons().$this->container_end_all(true);" has not been correctly added to outputrenderers.php - see README.txt for further instructions

    This is what I put in the php file:

    public function footer() {
    global $CFG, $DB, $PAGE;

    // Give plugins an opportunity to touch the page before JS is finalized.
    $pluginswithfunction = get_plugins_with_function('before_footer', 'lib.php');
    foreach ($pluginswithfunction as $plugins) {
    foreach ($plugins as $function) {
    $function();
    }
    }

    require_once ($CFG->dirroot.'/blocks/navbuttons/footer.php');
    $output = draw_navbuttons().$this->container_end_all(true); {
    // Change this line to enable the navigation buttons
    }

    $footer = $this->opencontainers->pop('header/footer');

    Am I missing something? Please help. Thanks!
  • Davo
    Thu, 21 Dec 2017, 3:01 PM
    Please switch to one of the standard themes (boost or clean) and see if it works. If it does, then to get it working with essential, you'll need to find where that theme overrides the 'footer()' function and add the core change there instead.
  • Jesse F.
    Fri, 23 Mar 2018, 6:21 AM
    Sidenote. If you're using the essential theme, the line of code you need is in: public_html/theme/essential/classes/output/core_renderer.php
  • Stewart Carswell
    Tue, 15 May 2018, 4:43 PM
    Hi Davo, I think there's an error in the latest zip folder. For the plugin version 3.4+ (Build: 2017100900) (2018042100), when I click the green download link, the zip folder that I download is completely empty.
  • Davo
    Wed, 16 May 2018, 3:46 AM
    Thanks Stewart - it's a problem with the github import not working properly as the plugin has been moved into the 'other' category, rather than the 'blocks' category (which breaks a lot of features of the plugins DB). Unfortunately, the plugin still needs a tiny core (or theme) modification to work, so it doesn't get to go anywhere else ...
  • Davo
    Wed, 16 May 2018, 3:46 AM
    (I have now manually fixed the download).
  • Angela Cristina Contreras
    Fri, 25 May 2018, 4:26 AM
    Hi Davo!
    I have a question about the plugin. When I click on Navigation Button settings, I see this message: Navbutton self-test: The line "$output = draw_navbuttons().$this->container_end_all(true);" has not been correctly added to outputrenderers.php - see README.txt for further instructions.

    Can you helpme to fix this? I really want to use your plugin.

    Thanks!
  • Davo
    Fri, 25 May 2018, 4:51 AM
    Hi Angela,

    Have you read through the README.txt file included with this plugin (as it suggests in the error message)? If so, is there a particular bit of the instructions that you are struggling with?
  • Chye Siaw
    Sun, 3 Jun 2018, 6:25 PM
    A note for users using Adaptable theme, The line "$output = $this->container_end_all(true);" is located in :

    /moodle/theme/adaptable/renderers.php

    It's on line 1467 (but obviously this may change as the theme version changes).
  • Sebastian Imhof
    Wed, 29 Aug 2018, 4:02 PM
    Hi Davo,
    since weve updated our test-system to moodle 3.5 we have some trouble with the Plugin.

    Our problem is, that we get an error when we try to change the "Buttons-type" to "Text" or "Simplified text:
    Fehler: Argument 1 passed to file_get_all_files_in_draftarea() must be of the type integer, null given, called in [dirroot]/lib/form/filemanager.php on line 336

    All the other settings can be edited without getting that error...

    Is there a solution for this error?

    Thanks in advance!
  • Davo
    Thu, 6 Sep 2018, 4:12 AM
    Hi Sebastian,

    I've had a quick look at this, but I've not been able to reproduce the error with my plugin and Moodle 3.5. Looking at the code, I can't find a function file_get_all_files_in_draftarea() - the closet I can see is file_get_draftarea_files().

    I'm afraid that without being to reproduce this locally, I can't really offer any insight as to what might be going wrong. If you were able to offer any extra details or some step-by-step instructions about how to reproduce this on a clean installation of Moodle 3.5, then I might be able to offer a fix.

    Davo
  • Sebastian Imhof
    Mon, 17 Sep 2018, 4:22 PM
    Hi Davo,
    i haven't tried to reproduce this error on a clean moodle yet, but i can find the function "file_get_all_files_in_draftarea()" in my "filemanager.php".

    Here is the class with the function/error inside (line 302):
    https://codeshare.io/2jrLJg

    Maybe this helps you to understand what the problem is.

    But I guess this error is caused by one or more updated plugins which don't like each other...
    On the live-system, which runs moodle 3.4 and the same plugins, you're plugin works well.

    Sebastian
  • Sebastian Imhof
    Wed, 26 Sep 2018, 3:00 PM
    Hi Davo,
    the Plugin works now!

    After the moodle update from 3.5.1 to 3.5.2+ it works.

    Sebastian
Please login to post comments