2017-04-17 57 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

謝謝!它有助於 –