Repository navigation
Hilfesystem
Wenn die Komponente mittels der Assistants/Model.php entwickelt wurde (siehe Komponenten-erstellen), dann
enthält dieses bereits (sofern nicht deaktiviert) eine Funktionalität um Hilfedateien dem allgemeinen Hilfesystem (CHelp) zur verfügung
zu stellen.
Die Hilfedateien werden später von der Benutzerschicht über CHelp abgerufen und sofern es sich um .md Dateien handelt, diese auch
in HTML umgewandelt (wir nutzen dazu php-markdown, siehe https://github.com/michelf/php-markdown).

A: Eine Hilfeseite
Die Hilfeseiten sehen dann später wie in Abbildung A aus (diese werden in einer Markup-Sprache beschrieben und können darüber hinaus natürlich auch jede andere Art von Datei nutzen).
Sie können eigene Schaltflächen in Ihre Templates einbauen, indem Sie die vorgefertigte Funktion MakeInfoButton aus der UI/include/Helpers.php verwenden.

B: Die Schaltfläche einer Hilfeseite
Dabei geben Sie den globalen Pfad (zur CHelp) an und den Namen der Datei.
<?php echo MakeInfoButton('page/admin/courseManagement','addUser.md'); ?>Auszug aus UI/include/CourseManagement/AddUser.template.html
In diesem Beispiel lautet der Pfad zur Datei page/admin/courseManagement und der Dateiname selbst dann addUser.md (CHelp übersetzt diese automatisch in HTML).
Diese Hilfeseite wird dann auf unserem Server unter GET http://meineURL/uebungsplattform/CHelp/help/de/page/admin/courseManagement/addUser.md aufgerufen werden.
Hinweis: das de in der URL bezieht sich auf die gewählte Sprache.
Die Dateien der oben gezeigten Hilfeseite müssen natürlich bei CHelp angemeldet werden (denn sie sind normalerweise in einer
Komponente enthalten, welche wir entwickelt).
Dazu müssen wir zunächst die Component.json unserer Komponente (welche die Hilfedateien enthält) anpassen. Hier wird nun eine Verbindung
zum request Ausgang der CHelp hergestellt und ihr mitgeteilt, welche globalen Hilfepfade wir bedienen wollen (der Speicherort ist also
unabhängig vom Aufrufpfad).
"connector": [
{
"name": "request",
"target": "CHelp",
"links": [
{"path": "/help/:language/page/admin/courseManagement/addUser.md"},
{"path": "/help/:language/page/admin/courseManagement/addUserA.png"},
{"path": "/help/:language/page/admin/courseManagement/addUserB.png"},
{"path": "/help/:language/page/admin/courseManagement/addUserC.png"},
{"path": "/help/:language/page/admin/courseManagement/addUserD.png"},
{"path": "/help/:language/page/admin/courseManagement/addUserE.png"}
]
}
]Auszug aus DB/CUIHelp/Component.json
In diesem Beispiel werden die Dateien addUser.md und die zugehörigen Bilder für eine Hilfeseite der Kursverwaltung angemeldet.
Diese Dateien können wir nun im help/ Ordner unserer Komponente hinterlegen. Dabei müssen die Dateinamen jedoch eine bestimmte Struktur
aufweisen (weil der Dateiname, mit _ getrennt, den Pfad darstellt).
Die Dateien zu unserem Beispiel liegen bei der Komponente CUIHelp und haben dann die folgenden Pfade und Namen:
- DB/CUIHelp/help/page_admin_courseManagement_addUser_de.md
- DB/CUIHelp/help/page_admin_courseManagement_addUserA_de.png
- DB/CUIHelp/help/page_admin_courseManagement_addUserB_de.png
- DB/CUIHelp/help/page_admin_courseManagement_addUserC_de.png
- DB/CUIHelp/help/page_admin_courseManagement_addUserD_de.png
- DB/CUIHelp/help/page_admin_courseManagement_addUserE_de.png
Der Dateiname page_admin_courseManagement_addUser_de.md setzt sich dabei wie nachfolgend zusammen:
ORDNERA_ORDNERB_..._DATEINAME_SPRACHE.ENDUNG