I have a custom reports module that is located in report/mycustomreports
To add a custom report specific to a course and under the report menu item you add this bit of code to lib.php file.
// File report/mycustomreport/lib.php function report_mycustomreports_extend_navigation_course($navigation, $course, $context) { global $CFG, $OUTPUT; if (has_capability('report/mycustomreports:viewcoursereports', $context)) { $url = new moodle_url('/report/mycustomreports/course/index.php', array('id'=>$course->id)); $navigation->add(get_string('mycustomreports', 'report_mycustomreports'), $url, navigation_node::TYPE_SETTING, null, null, n ew pix_icon('i/report', '')); } }
Take note of the URL and how it will end up looking:
example.com/report/mycustomreports/course/index.php?id=55
Now to make sure that the link to this report in the courses menu receives a highlight and expands the window, you must add a $PAGE->set_url() in the index.php
// File: report/mycustomreports/course/index.php $PAGE->set_url('/report/mycustomreports/course/index.php', array('id' => $course->id));
Both URL's now match.
If we click on the [Course Name] -> Reports -> My Custom Reports the page will load AND most importantly the link in the navigation menu will be highlighted.
No comments:
Post a Comment