【问题标题】:Get actual URL of file in Moodle using file API使用文件 API 在 Moodle 中获取文件的实际 URL
【发布时间】:2016-04-06 04:59:27
【问题描述】:

简介: 在moodle中,我们需要创建一个带有图像(问题文本或答案文本)的问题(让我们说具有4个选项的多项选择题)。我们能够将图像放入问题文本和答案文本中,moodle 使用其文件 API 完美地显示这些图像。

问题: 我的问题是,我正在开发一个用于打印测验的自定义模块,但我无法显示这些图像。

详情: 当moodle将这些问题和答案保存在数据库中时,它会以以下格式保存图像URL(参见img的src属性):

<p><img src="@@PLUGINFILE@@/22-2-16.png" alt="" width="1366" height="768" role="presentation" style="vertical-align:text-bottom; margin: 0 .5em;" class="img-responsive"><br></p>

由于moodle 的这种格式,我的图像没有被提取。而且我需要以某种方式解码这个 src 属性以获取保存在数据库中的图像的实际 URL。

任何帮助将不胜感激。

【问题讨论】:

    标签: php file moodle


    【解决方案1】:

    如果您从 question/questionbase.php 开始跟踪原始问题代码,您应该会找到一个函数 question_definition::format_text()。此功能涵盖了您需要对问题文本执行的所有操作以准备显示。

    在内部,它调用 question_attempt::rewrite_pluginfile_urls(),而后者又调用函数 question_rewrite_question_urls()(在 lib/questionlib.php 中)。最后,这会下降到标准的 file_rewrite_pluginfile_urls() 中,以完成替换文本中的 '@@PLUGINFILE@@' 链接的工作。

    希望这足以让您入门。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-06
      • 2019-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多