我已经创建了一个 xblock,现在我想将此 xblock 设置为默认 xblock,作为每个新创建的课程的高级组件。
谢谢。
解决这个问题的正确方法是编辑文件CourseFields
下的类common/lib/xmodule/xmodule/course_module.py
。您会发现有一个名为advanced_modules
type的类变量List
。你可以做这样的事情
advanced_modules = List(
display_name=_("Advanced Module List"),
default=[], # this is where you add default values
help=_("Enter the names of the advanced components to use in your course."),
scope=Scope.settings
)
您需要将 XBlock 添加到高级组件列表中。在您的 CMS 设置文件中,添加:
ADVANCED_COMPONENT_TYPES.append('your_xblock')
设置默认高级组件
编辑以下文件
cms/djangoapps/contentstore/views/components.py
将以下行添加到函数 'get_component_templates()' 之后
if isinstance(course_advanced_keys, list):
添加
course_advanced_keys.append('your_xblock')