VOLL DER ASSI Der alte Assistent 2 Der alte Assistent 2 Der alte Assistent 2 Der alte Assistent 2 Der alte Assistent 2 Der alte Assistent 2 Der alte Assistent 3 Rike / pixelio.de Ein neuer Assistent Kurz Modular Dynamisch 4 Helene Souza / pixelio.de Aufbau • „Rahmencontroller“ • Lädt course/wizard.php alle erforderlichen Schritte und steuert die Datenverarbeitung • Daten werden in der Session zwischengespeichert ➜ temporäre ID zur Identifikation $_SESSION['coursewizard'][<temp_id>] = array( '<Step1Classname>' = array(<values>), '<Step2Classname>' = array(<values>), ); 5 Wichtige Actions 6 Wichtige Actions $temp_id): Lädt Schritt $number und füllt die View mit den evtl. vorhandenen Werten zur $temp_id • step_action($number, 6 Wichtige Actions $temp_id): Lädt Schritt $number und füllt die View mit den evtl. vorhandenen Werten zur $temp_id • step_action($number, $temp_id): Verarbeitet das POST-Request zum Schritt $number und speichert die Werte in die Session unter $temp_id • process_action($number, 6 Wichtige Actions $temp_id): Lädt Schritt $number und füllt die View mit den evtl. vorhandenen Werten zur $temp_id • step_action($number, $temp_id): Verarbeitet das POST-Request zum Schritt $number und speichert die Werte in die Session unter $temp_id • process_action($number, • ajax_action(): Endpunkt für AJAX-Calls, bekommt per Request die Schrittnummer, die aufzurufende Methode und deren Parameter 6 Erzeugen einer Veranstaltung • Lege ein leeres Course-Objekt an • Speichern ➜ ID • Übergebe $course an alle durchgeführten Schritte und befülle mit Daten • Speichere Objekt 7 Viktor Mildenberger / pixelio.de Verwaltung vorhandener Schritte CourseWizardStepRegistry Admin → System → Anlegeassistent 8 Wie funktioniert ein Schritt? • Interface CourseWizardStep • Einbindung über API oder GUI • Reihenfolge 9 der Schritte beachten Klicker / pixelio.de Wichtige Methoden 10 Wichtige Methoden • isRequired($values): Ist der aktuelle Schritt abhängig von den übergebenen Werten erforderlich? ➜ Studienbereiche, je nach Veranstaltungstyp 10 Wichtige Methoden • isRequired($values): Ist der aktuelle Schritt abhängig von den übergebenen Werten erforderlich? ➜ Studienbereiche, je nach Veranstaltungstyp • alterValues($values): Erlaubt Buttonklicks oder AJAXAufrufe, um vorhandene Werte zu bearbeiten oder neue hinzuzufügen ➜ Lehrende hinzufügen 10 Noch wichtigere Methoden 11 Rainer Sturm / pixelio.de Noch wichtigere Methoden • getStepTemplate($values, $stepnumber, $temp_id): Lädt das passende Flexitemplate und füllt es mit evtl. bereits vorhandenen Werten 11 Rainer Sturm / pixelio.de Noch wichtigere Methoden • getStepTemplate($values, $stepnumber, $temp_id): Lädt das passende Flexitemplate und füllt es mit evtl. bereits vorhandenen Werten $values): Erhält ein bestehendes Course-Objekt, setzt die nötigen Werte für diesen Schritt und gibt das CourseObjekt wieder zurück • storeValues($course, 11 Rainer Sturm / pixelio.de Der Rest • validate($values): Überprüft, ob die gegebenen Werte gültig und vollständig sind und liefert entsprechende Fehlermeldungen 12 Der Rest 13 Der Rest • validate($values): Überprüft, ob die gegebenen Werte gültig und vollständig sind und liefert entsprechende Fehlermeldungen $values): Setzt die nötigen Werte dieses Schritts unter Berücksichtigung der zu kopierenden Veranstaltung • copy($course, 14 Auch für Plugins! • Schrittklasse, die CourseWizardStep implementiert • Registrieren, z.B. in Pluginmigration • Beim Speichern müssen die Daten nicht notwendigerweise beim $course landen! 15 Paul-Georg Meister / pixelio.de Auch für Plugins! 16 17 Lisa Spreckelmeyer / pixelio.de
© Copyright 2025 ExpyDoc