您需要将此插件放在/ local文件夹中,并通过添加到主导航块的链接提供对其页面的访问。
myplugin_extends_navigation(global_navigation $navigation) {
// Read the docs for get_context_instance and look at other uses to see what params you need
$usercontext = get_context_instance(CONTEXT_USER, $USER->id, MUST_EXIST);
// You will need to define some capabilities or use existing ones. If the user is allowed, they see the link below
if (has_capability('whatevercapability', $context)) {
// Adds a link
$node_schedule = $nodecoursework->add('Submission Schedule',
new moodle_url('/local/myplugin/sub.php'),
navigation_node::TYPE_CUSTOM,
'Submission Schedule',
'Submission Schedule');
}
}
报告页面,然后放在这个文件夹作为单独的文件(sub.php在这个例子中:这是通过将以下功能分为/local/myplugin/lib.php将被自动拾取完成)。寻找html_table()类来生成报告,也是基于sql的子类。
制作本地插件的文档是here,您可以看到一个示例here。
谢谢你的回复。那么我高兴地建立了模块,首先创建了一个层次结构,在这个层次结构中,人工智能可以创建新的部门,分区n个区域并将其分配给对方。然后finaly把用户放入不合逻辑的组中。我在做一个插件cald用户层次结构在/ blocks /文件夹中,并且在hev准备好我的层次结构的时候我会在/ report /文件夹中创建一个插件,考虑n让差异级别的用户查看差异报告。是不是也是正确的?可能还有太多的复杂因素,比如我们可以这样做。 – ivn 2012-02-17 12:39:45
听起来很合理,虽然/报告是非标准的,所以很多像导航链接,运行单元测试等的小部件都不会扫描它,这可能是一个缺点。你如何制作层次结构?角色/上下文系统应该已经为你提供了这些。 – 2012-02-17 13:01:23
Dint get u?系统已经为你提供了什么?正如我之前提到的,我创建了一个新的插件,其中包含部门,区域和区域的表格以及将部门和区域分成几部分的单独表格。现在剩下的就是将用户放入这些层次结构中,并根据层次结构设置权限。一旦完成,我将开始使用我的报告插件。 – ivn 2012-02-18 10:22:34