2016-06-09 16 views
1

Moodle API hat Funktionen wieMoodle Funktion Inhalt

core_course_create_courses() 
core_course_duplicate_course() 
core_course_get_contents() 

alle diese Arbeit gut zu bearbeiten. Gibt es eine Möglichkeit, den Inhalt eines Kurses festzulegen und zu bearbeiten?

Wir synchronisieren unser SIS (Student Information System) mit Moodle und möchten für jeden Kurs in unserem SIS einen Kurs in Moodle erstellen. Aber wir müssen Inhalte setzen. Selbst eine URL in unserem SIS zurück auf den Kurs zu setzen wäre etwas.

Antwort

0

Die Funktion course_get_contents in course/externallib.php gibt die Aktivitätsmodule für einen Kurs zurück.

Ich glaube nicht, dass es einen Web-Service zum Erstellen von Modulen für einen Kurs gibt.

Auch ich denke, eine Web-Service-Funktion muss für jedes Aktivitätsmodul erstellt werden, da die Parameter in den meisten Fällen unterschiedlich sein werden.

So benötigen Sie einen Web-Service zu erstellen:

https://docs.moodle.org/dev/Adding_a_web_service_to_a_plugin

Dann würde ich mit add_moduleinfo() empfehlen, das Modul zu erstellen.

Sehen Sie sich dieses Beispiel für das Facetoface-Modul an.

Create Moodle activities programmatically

0

Eine Option sein, um einen Block erstellen kann, die programmatisch die URL setzt auf den SIS Kurs Link zurück (man könnte sogar in der Lage sein, einen iframe zu verwenden, um etwas von dort einzubetten?). Sie können den Block dann für jeden Kurs als Standard festlegen, entweder über config.php oder indem Sie ihn zur Startseite hinzufügen und ihn dort angeben, wo er angezeigt werden soll. Ich habe dies bereits verwendet, um Informationen/Links aus verschiedenen Quellen hinzuzufügen und Links zu externen Ressourcen basierend auf dem Kurs (z. B. Modulauswertungen, Vorlesungserfassung) bereitzustellen, obwohl es sich nicht spezifisch um ein Schülerinformationssystem handelt.

Wenn Sie den Block im Hauptinhaltsbereich und nicht als Seitenblock verwenden möchten, können Sie ein Design (oder ein eigenes) verwenden, um eine benutzerdefinierte Blockregion im Hauptinhaltsbereich hinzuzufügen (siehe flexiBase-Design für mehrere Beispiele hierfür sind andere mit benutzerdefinierten Blockregionen.