Die Administration von sourceDESK unterstützt Widgets auf der Startseite. Standardmäßig existieren bereits einige Widgets vom System aus, diese werden in lib/Widgets.php definiert:
- System-Statistiken zeigt Ihnen die Anzahl Ihrer Kunden, Produkte, Verträge und Domains auf einen Blick
- Finanz-Übersicht stellt das Guthaben Ihrer Konten Ihren offenen Verbindlichkeiten und Forderungen gegenüber
- Umsatz-Zahlen gibt eine Übersicht über die am aktuellen Tag, im aktuellen Monat, im aktuellen Jahr und insgesamt erzielten Umsätze (Summe nicht stornierter Rechnungspositionen)
- Wartende Support-Tickets zeigt Support-Tickets im Status Unbearbeitet und In Bearbeitung in allen Abteilungen, auf die Sie Zugriff haben
- Wartende Bestellungen informiert über noch nicht eingerichtete Produkte und eventuell aufgetretene Fehler
- Letzte Aktivitäten protokolliert die letzten 10 durch Kunden ausgeführten Aktionen
- Wartende Buchungen zeigt noch nicht durchgeführte Kunden-Transaktionen, die auf eine Bestätigung warten (beispielsweise Provisions-Zahlungen)
- Fehlerhafte Domains informiert über Domains, bei deren Registrierung oder Aktualisierung ein Fehler aufgetreten ist und die Ihrer Aufmerksamkeit bedürfen
- Wartende Bestätigung weist auf Kunden hin, die noch aktiviert werden müssen (nur, wenn Kundenaktivierung in den Einstellungen aktiviert ist)
- Wartende Download-Freischaltung zeigt Kunden, die noch nicht für Produkt-Downloads freigeschaltet wurden (nur, wenn Download-Freischaltung in den Einstellungen aktiviert ist)
Durch jedes Addon können weitere Widgets hinzugefügt werden. Dabei werden jedem Administrator nur Widgets für diejenigen Addons angezeigt, für die er Zugriffsrechte hat.
Widget erstellen
Zunächst werden die hinzuzufügenden Widgets durch das Addon registriert. Dafür wird eine öffentliche Methode getWidgets() im Addon angelegt, die die verfügbaren Widgets als Array zurückgibt:
public function getWidgets() { return Array( "my_widget1" => Array("Widget-Titel 1", $this->widget1()), "my_widget2" => Array("Widget-Titel 2", $this->widget2()), ); }
my_widget1 ist hierbei eine interne Bezeichnung für das Widget, während Widget-Titel 1 dem Administrator als Widget-Titel angezeigt wird (sowohl bei der Auswahl des Widgets als auch bei dessen späterer Darstellung). Das zweite Element im verschachtelten Array ist die Ausgabe des Widgets. Bitte beachten Sie, dass in diesem Fall eine Methode aufgerufen wird, die HTML-Code (oder einen Boolean) zurückgibt - es könnte hier auch direkt HTML-Code geschrieben werden. Die aufgerufene Methode muss in diesem Fall nicht öffentlich sein, da sie innerhalb der Addon-Klasse aufgerufen wird.
Besondere Ausgaben
In der Regel wird durch das Widget HTML-Code ausgegeben (zweites Element des verschachtelten Arrays). Es gibt aber zwei besondere Ausgaben:
- Ein leerer String ("") führt dazu, dass das Widget nicht auf der Startseite der Administration angezeigt wird. Administratoren können es zur Anzeige auswählen.
- Der boolesche Ausdruck false führt dazu, dass das Widget nicht angezeigt wird und auch nicht zur Anzeige ausgewählt werden kann.