如何在 Moodle 2.9.1 中获取context
和context id
。
目前我处于一个区块内:问题文件
在表单提交操作页面中,我需要context id
。我不知道如何让context
在一个块(或模块)中。我的代码看起来像这样:
question_action.php
require_once(dirname(dirname(dirname(__FILE__))).'/config.php');
require_once(dirname(__FILE__).'/locallib.php');
global $DB, $CFG;
require_once("$CFG->libdir/resourcelib.php");
if(isset($_GET['id'])){
$cid = $_GET['id'];} //course id
if(isset($_GET['poolid'])){
$paper= $_GET['paper'];} //question paper id
我如何在这里找到context
和context id
..
答案 0 :(得分:1)
在块get_content()函数中,您可以从$ this-> context-> id获取上下文。
如果您的块中有额外的PHP页面,则需要确保所有链接都添加了某种标识符作为参数(可以是courseid,blockid或contextid)。
假设您的所有链接都在其末尾具有courseid(可能是最明智的选择),您可以在页面上写下:
$courseid = required_param('id', PARAM_INT); // Do not use $_GET directly.
$course = $DB->get_record('course', ['id' => $courseid], '*', MUST_EXIST); // Optional, but you often need the course object.
$context = context_course::instance($courseid);
$contextid = $context->id;