elefant / app-scorm
为Elefant CMS添加SCORM支持
1.0.0
2013-05-06 21:06 UTC
Requires
This package is auto-updated.
Last update: 2024-08-25 06:47:35 UTC
README
将SCORM模块支持添加到Elefant CMS。
状态:Beta
需要额外的合规性测试,但核心功能正常工作。
通过在工具 > SCORM区域上传zip文件来安装模块。通过页面编辑器中的动态对象按钮将SCORM模块嵌入到任何页面中。SCORM数据保存到数据库中,并通过scorm\Data
模型提供。
兼容SCORM 1.2和2004 API版本。
数据集成
您可以通过以下两种方式之一将保存的SCORM数据集成到您自己的应用程序中
访问SCORM数据存储
要直接访问SCORM数据,使用以下方式使用scorm\Data
类
<?php // Get a single value $value = scorm\Data::get_value ($module, $user_id, $key); // Get all values for a particular user and module $values = scorm\Data::get_values ($module, $user_id);
接收SCORM提交通知
要将您自己的应用程序连接到服务器端的SCORM提交操作,首先在您的应用程序中创建一个处理程序,该处理程序将通过Elefant的钩子机制被调用。以下是一个处理程序的示例
<?php /** * Receives SCORM commits as a notification with the following * $data parameters: * * - module: The name of the SCORM module * - data: An array of key/value pairs of SCORM values * * Note that you can retrieve the current user via User::val('id'). * For a list of SCORM values, visit: * * http://scorm.com/scorm-explained/technical-scorm/run-time/run-time-reference/ */ if (! $this->internal) { die ('Must be called by another handler'); } // Add your handling logic here ?>
接下来,通过编辑Elefant的conf/config.php
文件并添加以下行到[Hooks]
部分来指定钩子
scorm/commit[] = myapp/myhandler
请注意,您需要将myapp/myhandler
更改为您应用程序和处理程序脚本的真正名称。现在,每当SCORM Commit()
操作发送到服务器时,将调用此脚本。