【发布时间】:2014-07-16 22:54:29
【问题描述】:
Moodle 有一个多选题型插件。这些问题用于测验。
我想展示不同类型的多项选择题。 它们基本上都是 MCQ,但以不同的方式呈现。
例如有些是*simple MCQ'*s,而另一些则有与之相关的阅读文章(学生必须阅读并从中找到答案)需要显示。然后阅读文章可以在更多不同类型的 MCQ 中以不同的方式显示。
所以我需要渲染大约 4 到 5 种不同类型的 MCQ,它们仅在网页上的渲染方式不同。
现在,以不同方式显示问题的解决方案是覆盖插件的渲染器。 但问题是:
如果我覆盖 Multichoice 问题类型的渲染器以显示阅读文章,则用于显示简单 MCQ 的渲染器将被覆盖。这意味着我只能显示带有段落的 MCQ,而不再显示简单的 MCQ。
但我需要显示各种 MCQ。
所以请给我一些解决方法。
最大的担心是:可能需要为每种类型的 MCQ 编写问题类型插件,然后在要求教师(或进行测验的管理员)选择的测验部分添加它们时问题类型;然后老师选择问题的特定类型,然后在我们的代码中,我们获取该类型并执行以下操作:
如果题型是simple MCQ,则使用MCQ插件的渲染器,否则如果是带有段落的MCQ,则使用此渲染器(我们的自定义渲染器覆盖了多选插件渲染器)
我应该怎么做?
编辑:- 这是一张表格的图片,它从正在向测验中添加问题的管理员那里获取输入,他们想要添加什么类型的问题?
也许我还需要通过识别然后覆盖显示此表单的代码,然后识别并从该表单接收输入的代码,然后使用该输入,将多项选择题划分为我感兴趣的类型决定如何渲染输出。
【问题讨论】:
-
面对你的恐惧!你在正确的道路上!谷歌“多态性”。
-
@Juventus18 非常感谢。我刚刚浏览了这篇文章——非常有帮助。关于面对恐惧,这是一个后续问题:我们可以通过基于已经存在的插件(在这种情况下为多选问题类型插件)来编写插件,就像我们通过添加'来扩展已经存在的主题一样新主题中的新'功能,其余所有功能都在我们的新主题扩展的现有主题上扩展?
标签: php plugins moodle renderer