メニューリストにすべてのmoodleコースを表示する必要があります。 誰も私にどのようにPHPコードまたはmoodleの組み込み関数を使用してすべてのコースを取得することができます私にお勧めできますか?どのようにmoodleのすべてのコースを取得する?
おかげで
メニューリストにすべてのmoodleコースを表示する必要があります。 誰も私にどのようにPHPコードまたはmoodleの組み込み関数を使用してすべてのコースを取得することができます私にお勧めできますか?どのようにmoodleのすべてのコースを取得する?
おかげで
あなたはlib/datalib.php
内で定義されたget_courses()
機能を使用することができ、あなたがMoodleの内で実行されるコードを書いていると仮定。たとえば、
<?php
require_once(PATH_TO_MOODLE_ROOT . '/config.php');
$courses = get_courses();
print_r($courses);
は、返された配列のデータダンプを出力し、Moodleサイトのすべてのコースの詳細を表示します。この例は、本番サイトで使用することは明らかに不適切です。
lib/datalib.php
で関数の定義を確認すると、結果セットを特定のフィールドに制限したり、並べ替え順序を制御したりするオプションが表示されます。
は、このファイル
require_once($CFG->dirroot . '/lib/coursecatlib.php');
メニューリスト内のすべてのコースを取得するには、この機能を使用することを含みます。
$allcourses = coursecat::get(0)->get_courses(array('recursive' => true));
var_dump($allcourses);exit;
登録したコースのみを学生に表示する場合は、次の方法を使用できます。
require_once($CFG->dirroot.'/blocks/course_overview/locallib.php');
global $USER,$DB;
$courses = enrol_get_users_courses($USER->id, true);
OR あなたはすべてのコースを一覧表示したい場合は...
global $DB;
$query = "SELECT id, fullname, shortname from {course}";
$courselist = $DB->get_records_sql($query);
foreach ($courselist as $course) {
echo $course->fullname;
}
おかげ
このスクリプトは、 '(真、 'CLI_SCRIPT')を定義行で始める必要があります;'であるために走る – shacker