2017-04-17 58 views
0

我正在使用core_course_get_contents我想知道活动限制标准。如何从moodle API读取完成标准以在App中使用?

我得到这样的事情在可用性

{\ “OP \”:\ “& \”,\ “印花十字绣\”:[真],\ “C \”:[{\ \“cm \”:10889,\“e \”:1}]}

{\“op \”:\“& \”,\“showc \ “:[true],”c“:[{\”type \“:\”completion \“,\”cm \“:9989,\”e \“:1}]}

{\ “op \”:\“& \”,\“c \”:[{\“type \”:\“grade \”,\“id \”:3410,\“min \”:100}

如何阅读?这是什么意思?

这是否总是不同的参数在别人?

可用性参数的常见结构是什么?

回答

1

你得到的是一个JSON字符串,带有键/值对。这个字符串告诉你什么是可用条件得到满足。

第一对是"op": & 这意味着:布尔运算符是AND。另一个价值可能是OR。

运营商告诉您可用性条件应该如何相互关联:或者它们都应该是有效的(AND)或至少有一个(OR)。

第二对是"showc": true。 这意味着,我想(不确定):显示可用性条件:true。当然,另一个价值可能是错误的。

第三对是:"c"(条件): array 的“C”键给你,据我所知,可用性条件的详细说明。我们来看看细节,在这里:

“type”键告诉你你要评估哪种类型的字段:在你的第一个和第二个例子中,它分别是一个课程模块id(“cm”),带有值,10889和9989.这意味着:“随后与课程单元10889有关”。

虽然,我不知道键/值对"e":1是什么意思。这可能意味着:“该课程模块应该完成”。试试自己:你可以改变一些course-module的可用性条件,看看会发生什么。

顺便说一下,您可以直接从数据库表mdl_course_modules(或your_prefix_course_modules)的字段availability中读取此JSON对象。

在你的第三个例子中,类型是一个等级(“等级”),等级ID是“3410”,“min”(我认为最小值)是“100”。

请注意,可能有其他类型:例如:"type": "date""type": "grouping"。不过,我不知道可用类型的列表。

+0

这是什么意思“&!\”? –

+0

我认为,它意味着&(AND)的否定,即:AND NOT。 –

+0

谢谢!它有助于 –