2016-10-04 16 views
0

contextcontext idで取得する方法Moodle 2.9.1Moodle内のブロック内のコンテキストIDを見つける

現在、私はブロックで午前:質問紙

フォームの送信アクションページでは、私はcontext idを必要としています。ブロック(またはモジュール)内にあるcontextを取得する方法がわかりません。私のコードは次のようになります:ブロックGET_CONTENT()関数内..私はここにcontextcontext idを見つける方法

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 

答えて

1

を、あなたがたContextIDを得ることができます$ 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; 
+0

はあなたdavosmithに感謝します... – next2u

関連する問題