在Moodle中的块内查找上下文id

在Moodle中的块内查找上下文id,moodle,Moodle,如何在Moodle 2.9.1中获取上下文和上下文id 目前我在一个街区:问题纸 在表单提交操作页面中,我需要上下文id。我不知道如何获取块(或模块)中的上下文。我的代码如下所示: question\u action.php require_once(dirname(dirname(dirname(__FILE__))).'/config.php'); require_once(dirname(__FILE__).'/locallib.php'); global $DB, $CFG; req

如何在Moodle 2.9.1中获取
上下文和
上下文id

目前我在一个街区:问题纸

在表单提交操作页面中,我需要
上下文id
。我不知道如何获取块(或模块)中的
上下文。我的代码如下所示:

question\u 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

在block get_content()函数中,您可以从$this->context->id获取contextid

如果块中有一个额外的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;