2013-08-12 16 views

risposta

9

Supponendo che si sta scrivendo il codice da eseguire all'interno di Moodle, è possibile utilizzare la funzione di get_courses() definita all'interno lib/datalib.php. Per esempio:

<?php 
require_once(PATH_TO_MOODLE_ROOT . '/config.php'); 
$courses = get_courses(); 
print_r($courses); 

stamperà un data-dump del matrice restituita, che mostra i dettagli di tutti i corsi nel vostro sito Moodle. Questo esempio non è ovviamente appropriato da usare su un sito di produzione!

Se si controlla la definizione della funzione in lib/datalib.php, verranno visualizzate le opzioni disponibili per limitare il set di risultati a determinati campi o controllare l'ordinamento.

+0

Questo script deve iniziare con la linea 'define ('CLI_SCRIPT', true);' per essere correre. – shacker

1

Integrare questo

require_once($CFG->dirroot . '/lib/coursecatlib.php'); 

Usare questa funzione per ottenere tutti i corsi in lista menu.

$allcourses = coursecat::get(0)->get_courses(array('recursive' => true)); 

var_dump($allcourses);exit; 
0

Se si desidera mostrare iscritti solo corso per studenti è possibile utilizzare il metodo seguente.

require_once($CFG->dirroot.'/blocks/course_overview/locallib.php'); 
global $USER,$DB; 
$courses = enrol_get_users_courses($USER->id, true); 

O Se si desidera elencare tutti i corsi ..

global $DB; 
$query = "SELECT id, fullname, shortname from {course}"; 
$courselist = $DB->get_records_sql($query); 
foreach ($courselist as $course) { 
    echo $course->fullname; 
} 

Grazie

Problemi correlati