2017-08-29 14 views
1

moodleでは、フロントエンドのmoodleのコースのデフォルトのコース進捗状況を確認できました。しかし、第1章が完成すると10%、第2章が完成すると20%が完了するような進捗状況を表示しようとしました。モジュールを見つけることができなかったか、コードを修正する方法を見つけられなかった。Moodle-progress bar

つまり、1。どのようにコースのサブセクションの完了に基づいて、コースの完了の進捗状況を追跡する?デフォルトのトラッキングはコースのみに基づいているため.2。コース完了チェックボックスをチェックすることなく(https://i.stack.imgur.com/GUqwT.pngを参照)コースを追跡することは可能ですか?3。コースセクションのURL閲覧に基づいて、コースの進捗状況を追跡することは可能ですか?ありがとうございます。

答えて

0

mdl_logstore_standard_logテーブルを使用して、特定のページビューとインタラクションをトラッキングすることがあります。 Moodleのさまざまなモジュール/アクティビティは、データの種類や量は異なりますが、一般的なコーストピック/セクションの表示は、通常、完了に関係なく記録されます。例えば

あなたはセクション/トピックを訪問10 3. URLは通常、このようなものに見えますが、= IDでコースを想像してみてください。この場合、<yourdomain>/course/view.php?id=10&section=3

を、ビューがeventnameに値をmdl_logstore_standard_logにログインする必要があります\core\event\course_viewedです。コースidはcourseidカラムにあり、表示されるセクションは "other"カラムにあるはずですが、そのデータはPHPのシリアル化で格納された配列なので、unserializeおよび配列解析関数を使用して "3"を素早く取得すると便利です必要に応じて。

また、さまざまなアクティビティやモジュールが異なるデータを記録していることを覚えておいてください。たとえば、割り当てアクティビティが別に記録されます。がんばろう!