Moodle块的正确context id
是什么, block_html
。
情形1
在block_html.php
档案
$this->context->id
函数中的 get_content
提供 122
情形2
我创建了一个名为view.php
的新页面。我在这里尝试
$instance = $DB->get_record('block_instances', array('id' => 57));
$blockname = 'html';
$block = block_instance($blockname, $instance);
echo $block->context->id;
这会给出 98 。
情形3
$context = context_block::instance($cmid);
echo $context->id
给出 7
我应该将context id
block_html
用作context id
。我需要准确的isNaN()
。
注意:对于所有块,我遇到上述问题。我用错了什么?
答案 0 :(得分:1)
案例1和2 应该是正确的。
在block::get_content()
中,您可以使用$this->context
获得正确的块上下文。
要手动获取块的上下文,请执行context_block::instance($instanceid)
。我怀疑在你的例子中你错误地使用了错误的块实例ID。您可以使用get_content
从$this->context->instanceid
获取阻止实例ID。