了解 Moodle $context
Understanding Moodle $context
来自 Moodle doc:
A context is a space in Moodle where roles can be assigned.
我理解上下文是逻辑的space,用于管理 Moodle 对象。
我开发了一个带有文件上传的自定义块插件,我使用 file_prepare_draft_area
和 file_save_draft_area_files
functions.There 是一个必须传递的 $context
参数,我不真的不知道我应该传递什么上下文?
我想这意味着我应该将块插件上传的文件放在哪个逻辑 space 中?
在我看来,最合乎逻辑的是将上传的文件存储在与我的块插件相关的上下文中。
我尝试使用 context_block::instance($instanceid) 但我不知道如何获取 $instanceid 参数。
- 在这种情况下我应该使用哪个上下文?
- 如何获取?
上下文类型如下:
- 系统
- 课程类别
- 课程
- Activity模块
- 阻止
- 用户
上下文的层次结构是:
系统=>课程类别=>课程=>Activity模块
块上下文可以出现在课程内或 'site' 课程内。
用户上下文在课程之外。
如果您希望文件绑定到块的特定实例(例如,当块被删除时它们会自动删除,并且您可以将来自块的不同实例的文件分开),那么您应该使用块上下文(但您必须将块的 instanceid 传递给子页面才能使用它来获取上下文:
$context = context_block::instance($blockinstanceid);
如果您想要将文件绑定到课程 - 因此课程中块的所有实例共享同一个文件 space 并且仅在删除整个课程时删除文件,然后使用课程上下文(将 courseid 作为参数传递到子页面,然后使用:
$context = context_course::instance($courseid);
但是,如果您想在站点上的所有块之间共享该文件区域,那么系统上下文就是您想要的:
$context = context_system();
还有一张(旧的?)documentation供参考——看par。 “13.2. Moodle 的角色和权限系统”。
(我也找到了 Russian translation of that paragraph,也许对某些人有用。)
来自 Moodle doc:
A context is a space in Moodle where roles can be assigned.
我理解上下文是逻辑的space,用于管理 Moodle 对象。
我开发了一个带有文件上传的自定义块插件,我使用 file_prepare_draft_area
和 file_save_draft_area_files
functions.There 是一个必须传递的 $context
参数,我不真的不知道我应该传递什么上下文?
我想这意味着我应该将块插件上传的文件放在哪个逻辑 space 中?
在我看来,最合乎逻辑的是将上传的文件存储在与我的块插件相关的上下文中。
我尝试使用 context_block::instance($instanceid) 但我不知道如何获取 $instanceid 参数。
- 在这种情况下我应该使用哪个上下文?
- 如何获取?
上下文类型如下:
- 系统
- 课程类别
- 课程
- Activity模块
- 阻止
- 用户
上下文的层次结构是: 系统=>课程类别=>课程=>Activity模块
块上下文可以出现在课程内或 'site' 课程内。 用户上下文在课程之外。
如果您希望文件绑定到块的特定实例(例如,当块被删除时它们会自动删除,并且您可以将来自块的不同实例的文件分开),那么您应该使用块上下文(但您必须将块的 instanceid 传递给子页面才能使用它来获取上下文:
$context = context_block::instance($blockinstanceid);
如果您想要将文件绑定到课程 - 因此课程中块的所有实例共享同一个文件 space 并且仅在删除整个课程时删除文件,然后使用课程上下文(将 courseid 作为参数传递到子页面,然后使用:
$context = context_course::instance($courseid);
但是,如果您想在站点上的所有块之间共享该文件区域,那么系统上下文就是您想要的:
$context = context_system();
还有一张(旧的?)documentation供参考——看par。 “13.2. Moodle 的角色和权限系统”。
(我也找到了 Russian translation of that paragraph,也许对某些人有用。)