Muszę pokazać wszystkie kursy Moodle w menu. Czy ktoś może zaproponować mi, że w jaki sposób można uzyskać wszystkie kursy za pomocą kodu php lub funkcje wbudowane Moodle.Jak zdobyć wszystkie kursy na temat Moodle?
Dzięki
Muszę pokazać wszystkie kursy Moodle w menu. Czy ktoś może zaproponować mi, że w jaki sposób można uzyskać wszystkie kursy za pomocą kodu php lub funkcje wbudowane Moodle.Jak zdobyć wszystkie kursy na temat Moodle?
Dzięki
Zakładając piszesz kod do uruchomienia w ciągu Moodle, możesz użyć funkcji get_courses()
zdefiniowane w lib/datalib.php
. Na przykład:
<?php
require_once(PATH_TO_MOODLE_ROOT . '/config.php');
$courses = get_courses();
print_r($courses);
wydrukuje zrzut danych zwróconej tablicy, pokazując szczegóły wszystkich kursów w witrynie Moodle. Ten przykład nie jest oczywiście odpowiedni do użycia na stronie produkcyjnej!
Jeśli zaznaczysz definicję funkcji w lib/datalib.php
, zobaczysz dostępne opcje ograniczania zestawu wyników do poszczególnych pól lub kontrolowania kolejności sortowania.
Dołącz ten plik
require_once($CFG->dirroot . '/lib/coursecatlib.php');
użyć tej funkcji, aby uzyskać wszystkie kursy w menu aukcji.
Jeśli chcesz pokazać uczniowi tylko zapisany kurs, możesz skorzystać z poniższej metody.
require_once($CFG->dirroot.'/blocks/course_overview/locallib.php');
global $USER,$DB;
$courses = enrol_get_users_courses($USER->id, true);
LUB Jeśli chcesz wymienić wszystkie kursy ..
global $DB;
$query = "SELECT id, fullname, shortname from {course}";
$courselist = $DB->get_records_sql($query);
foreach ($courselist as $course) {
echo $course->fullname;
}
Dzięki
Ten skrypt musi zaczynać się od linii 'define ('CLI_SCRIPT', true);' aby być biegać. – shacker