-
Notifications
You must be signed in to change notification settings - Fork 23
如果编写一个module(3)—— index.php
#如果编写一个module(3)—— index.php
这个文件的用处,我已经在(0)中分析过了,如果你(0)中的内容不熟悉,请务必要再次阅读。 如果你只是想山寨一个简单的功能, 没必要看这节,直接看下一节就好。
以下,直接上代码,一句一句分析; ` //首先,引入相关的头文件 require_once(dirname(dirname(dirname(FILE))).'/config.php'); require_once(dirname(FILE).'/lib.php');
//获得课程的ID。 $id = required_param('id', PARAM_INT); // course
//用课程的ID得到课程。 $course = $DB->get_record('course', array('id' => $id), '*', MUST_EXIST);
//验证你这门课是否有权限进来。 require_course_login($course);
//写日志文件。 add_to_log($course->id, 'gboard', 'view all', 'index.php?id='.$course->id, '');
//得到课程的具体信息。 $coursecontext = get_context_instance(CONTEXT_COURSE, $course->id);
//设置页面的url,开始转向了吧。 $PAGE->set_url('/mod/gboard/index.php', array('id' => $id)); //设置额标题和页面的现实内容。 $PAGE->set_title(format_string($course->fullname)); $PAGE->set_heading(format_string($course->fullname)); $PAGE->set_context($coursecontext);
//输出页面的头。 echo $OUTPUT->header();
//开始,分析gboard中的每个课程,然后打印出来。 if (! $gboards = get_all_instances_in_course('gboard', $course)) { notice(get_string('nogboards', 'gboard'), new moodle_url('/course/view.php', array('id' => $course->id))); }
if ($course->format == 'weeks') { $table->head = array(get_string('week'), get_string('name')); $table->align = array('center', 'left'); } else if ($course->format == 'topics') { $table->head = array(get_string('topic'), get_string('name')); $table->align = array('center', 'left', 'left', 'left'); } else { $table->head = array(get_string('name')); $table->align = array('left', 'left', 'left'); }
foreach ($gboards as $gboard) { if (!$gboard->visible) { $link = html_writer::link( new moodle_url('/mod/gboard.php', array('id' => $gboard->coursemodule)), format_string($gboard->name, true), array('class' => 'dimmed')); } else { $link = html_writer::link( new moodle_url('/mod/gboard.php', array('id' => $gboard->coursemodule)), format_string($gboard->name, true)); }
if ($course->format == 'weeks' or $course->format == 'topics') {
$table->data[] = array($gboard->section, $link);
} else {
$table->data[] = array($link);
}
}
//将表格输出。 echo $OUTPUT->heading(get_string('modulenameplural', 'gboard'), 2); echo html_writer::table($table);
//输出页面的尾。 echo $OUTPUT->footer(); `