diff --git a/question/category.php b/question/category.php
index 4e5d02f5db4..faeff3b6649 100644
--- a/question/category.php
+++ b/question/category.php
@@ -134,6 +134,10 @@ $PAGE->set_title(get_string('editcategories', 'question'));
$PAGE->set_heading($COURSE->fullname);
echo $OUTPUT->header();
+// Print horizontal nav if needed.
+$renderer = $PAGE->get_renderer('core_question', 'bank');
+echo $renderer->extra_horizontal_navigation();
+
// Display the UI.
if (!empty($param->edit)) {
$qcobject->edit_single_category($param->edit);
diff --git a/question/edit.php b/question/edit.php
index 86ad9b5fd19..f745918adac 100644
--- a/question/edit.php
+++ b/question/edit.php
@@ -47,6 +47,10 @@ $PAGE->set_title($streditingquestions);
$PAGE->set_heading($COURSE->fullname);
echo $OUTPUT->header();
+// Print horizontal nav if needed.
+$renderer = $PAGE->get_renderer('core_question', 'bank');
+echo $renderer->extra_horizontal_navigation();
+
echo '
';
$questionbank->display('questions', $pagevars['qpage'], $pagevars['qperpage'],
$pagevars['cat'], $pagevars['recurse'], $pagevars['showhidden'],
diff --git a/question/export.php b/question/export.php
index b52a9db665e..434526dad9c 100644
--- a/question/export.php
+++ b/question/export.php
@@ -44,6 +44,10 @@ $PAGE->set_title($strexportquestions);
$PAGE->set_heading($COURSE->fullname);
echo $OUTPUT->header();
+// Print horizontal nav if needed.
+$renderer = $PAGE->get_renderer('core_question', 'bank');
+echo $renderer->extra_horizontal_navigation();
+
$export_form = new question_export_form($thispageurl,
array('contexts' => $contexts->having_one_edit_tab_cap('export'), 'defaultcategory' => $pagevars['cat']));
diff --git a/question/import.php b/question/import.php
index e75932ee8ee..c9f0c828271 100644
--- a/question/import.php
+++ b/question/import.php
@@ -73,6 +73,10 @@ $PAGE->set_title($txt->importquestions);
$PAGE->set_heading($COURSE->fullname);
echo $OUTPUT->header();
+// Print horizontal nav if needed.
+$renderer = $PAGE->get_renderer('core_question', 'bank');
+echo $renderer->extra_horizontal_navigation();
+
// file upload form sumitted
if ($form = $import_form->get_data()) {
diff --git a/question/renderer.php b/question/renderer.php
index c862de1cfaa..70b9127f66f 100644
--- a/question/renderer.php
+++ b/question/renderer.php
@@ -35,6 +35,16 @@ defined('MOODLE_INTERNAL') || die();
*/
class core_question_bank_renderer extends plugin_renderer_base {
+ /**
+ * Display additional navigation if needed.
+ *
+ * @return string
+ */
+ public function extra_horizontal_navigation() {
+ // Overwrite in child themes if needed.
+ return '';
+ }
+
/**
* Output the icon for a question type.
*
diff --git a/theme/boost/classes/output/core_question/bank_renderer.php b/theme/boost/classes/output/core_question/bank_renderer.php
new file mode 100644
index 00000000000..8f4962a7e78
--- /dev/null
+++ b/theme/boost/classes/output/core_question/bank_renderer.php
@@ -0,0 +1,58 @@
+.
+
+/**
+ * Question renderer.
+ *
+ * @package theme_boost
+ * @copyright 2017 onwards Ankit Agarwal
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+namespace theme_boost\output\core_question;
+defined('MOODLE_INTERNAL') || die();
+
+require_once($CFG->dirroot . '/' . $CFG->admin . '/renderer.php');
+
+/**
+ * Question renderer class.
+ *
+ * @package theme_boost
+ * @copyright 2017 onwards Ankit Agarwal
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class bank_renderer extends \core_question_bank_renderer {
+
+ /**
+ * Display additional navigation if needed.
+ *
+ * @return string
+ */
+ public function extra_horizontal_navigation() {
+ // Horizontal navigation for question bank.
+ if ($questionnode = $this->page->settingsnav->find("questionbank", \navigation_node::TYPE_CONTAINER)) {
+ if ($children = $questionnode->children) {
+ $tabs = [];
+ foreach ($children as $key => $node) {
+ $tabs[] = new \tabobject($node->key, $node->action, $node->text);
+ }
+ $active = $questionnode->find_active_node()->key;
+ return \html_writer::div(print_tabs([$tabs], $active, null, null, true), 'questionbank-navigation');
+ }
+ }
+ return '';
+ }
+}