diff --git a/lang/en/moodle.php b/lang/en/moodle.php index 005905b13b8..339b2fefca2 100644 --- a/lang/en/moodle.php +++ b/lang/en/moodle.php @@ -239,6 +239,7 @@ $string['categorycontents'] = 'Subcategories and courses'; $string['categorycurrentcontents'] = 'Contents of {$a}'; $string['categorydeleted'] = 'The category \'{$a}\' was deleted'; $string['categoryduplicate'] = 'A category named \'{$a}\' already exists!'; +$string['categoryheader'] = 'Category menu'; $string['categoryhidden'] = '(hidden)'; $string['categorymodifiedcancel'] = 'Category was modified! Please cancel and try again.'; $string['categoryname'] = 'Category name'; diff --git a/lib/classes/navigation/views/secondary.php b/lib/classes/navigation/views/secondary.php index e28655811f6..4cc2cf71f49 100644 --- a/lib/classes/navigation/views/secondary.php +++ b/lib/classes/navigation/views/secondary.php @@ -166,6 +166,10 @@ class secondary extends view { $this->load_module_navigation(); $defaultmoremenunodes = $this->get_default_module_more_menu_nodes(); break; + case CONTEXT_COURSECAT: + $this->headertitle = get_string('categoryheader'); + $this->load_category_navigation(); + break; case CONTEXT_SYSTEM: $this->headertitle = get_string('homeheader'); $this->load_admin_navigation(); @@ -244,6 +248,19 @@ class secondary extends view { } } + /** + * Load the course category navigation. + */ + protected function load_category_navigation(): void { + $settingsnav = $this->page->settingsnav; + $mainnode = $settingsnav->find('categorysettings', self::TYPE_CONTAINER); + if ($mainnode) { + $url = new \moodle_url('/course/index.php', ['categoryid' => $this->context->instanceid]); + $this->add($this->context->get_context_name(), $url, self::TYPE_CONTAINER, null, 'categorymain'); + $this->load_remaining_nodes($mainnode, []); + } + } + /** * Load the site admin navigation */ diff --git a/lib/navigationlib.php b/lib/navigationlib.php index e8a8abf75e6..fdd52a5052e 100644 --- a/lib/navigationlib.php +++ b/lib/navigationlib.php @@ -5326,7 +5326,7 @@ class settings_navigation extends navigation_node { if (can_edit_in_category($catcontext->instanceid)) { $url = new moodle_url('/course/management.php', array('categoryid' => $catcontext->instanceid)); $editstring = get_string('managecategorythis'); - $categorynode->add($editstring, $url, self::TYPE_SETTING, null, null, new pix_icon('i/edit', '')); + $categorynode->add($editstring, $url, self::TYPE_SETTING, null, 'managecategory', new pix_icon('i/edit', '')); } if (has_capability('moodle/category:manage', $catcontext)) {