-
Notifications
You must be signed in to change notification settings - Fork 33
Doku Entwickler Meldungen Admincenter
Inhaltsverzeichnis
-
Schnittstelle für Meldungen/Benachrichtigungen im Admincenter
- Mapper
- Models
- Hinzufügen einer Meldung
- Aktualisieren einer Meldung
- Abfragen der Meldungen eines Moduls
- Löschen von Meldungen
- Prüfen ob ein Modul noch die Erlaubnis hat Meldungen einzutragen oder welches Limit eingetragen ist
- Prüfen ob ein NotificationModel gültig ist
- Auflistung aller Funktionen der Mapper
- Auflistung der Eigenschaften der Models
Auf der Startseite des Admincenter werden Meldungen angezeigt, die über diese Schnittstelle eingetragen wurden. Die Administratoren können hier die Meldungen löschen oder dem Modul die Erlaubnis zum Eintragen von Meldungen entziehen.
In den Einstellungen des Admincenters können sie zudem ein Limit für die Anzahl der Meldungen für jedes Modul setzen. Ist das Limit erreicht, dass heißt z.B. fünf Meldungen für ein Modul wurden eingetragen, werden weitere Meldungen nicht akzeptiert. Sobald die Administratoren Meldungen löschen und somit das Limit wieder unterschritten ist, können wieder Meldungen eingetragen werden.
Modules\Admin\Mappers\Notifications
Modules\Admin\Mappers\NotificationPermission
Modules\Admin\Models\Notification
Modules\Admin\Models\NotificationPermission
Solange das Limit noch nicht erreicht ist oder dem Modul die Erlaubnis zum Eintragen von Meldungen entzogen wurde, können wie folgt Meldungen eingetragen werden:
$notificationsMapper = new NotificationsMapper();
$notificationModel = new NotificationModel();
$notificationModel->setModule('awards');
$notificationModel->setMessage('Testmessage3');
$notificationModel->setURL('https://www.google.de');
$notificationModel->setType('awardsNewAward');
$notificationsMapper->addNotification($notificationModel);
Der Funktion addNotification() wird ein NotificationModel übergeben, in dem Werte für "Module", "Message", "URL" und "Type" gesetzt wurden. "Module" dient der Zuordnung einer Meldung zu einem Modul. "URL" bietet sich an um z.B. eine bestimmten Seite des Moduls zu verlinken. "Type" kann genutzt werden um die Meldung als eine eines bestimmten Typs kenntlich zu machen. Beim erstmaligen Aufruf von addNotification() bekommt das Modul automatisch die Erlaubnis Meldungen einzutragen.
Meldungen können aktualisiert werden. Jedoch bleibt der ursprüngliche Zeitstempel bestehen.
$notificationsMapper = new NotificationsMapper();
$notificationModel = new NotificationModel();
$notificationModel->setId(2);
$notificationModel->setModule('awards');
$notificationModel->setMessage('Testmessage3');
$notificationModel->setURL('https://www.google.de');
$notificationsMapper->updateNotificationById($notificationModel);
Der Funktion updateNotificationById wird ein NotificationModel übergeben, in dem der Wert für "Id" gesetzt wurde, sowie "Module", "Message" und "URL", falls diese aktualisiert werden sollen.
Um alle Meldungen eines Moduls abzufragen, muss die Funktion getNotificationsByModule() aufgerufen werden. Ihr wird der Schlüssel ("key") des Moduls übergeben. Es kann auch eine Meldung mit einer bestimmten abgefragt werden. Hierfür dient die Funktion getNotificationById().
$notificationsMapper = new NotificationsMapper();
$notification = $notificationsMapper->getNotificationById(1);
$notifications = $notificationsMapper->getNotificationByModule('article');
$notificationsMapper = new NotificationsMapper();
$notificationsMapper->deleteNotificationById(1);
$notificationsMapper->deleteNotificationsByModule('article');
$notificationPermissionMapper = new NotificationPermissionMapper();
$notificationPermissionMapper->getPermissionOfModule('article');
Die Funktion isValidNotification() prüft die Werte "Module", "Message" und "URL".
$notificationsMapper = new NotificationsMapper();
$notificationModel = new NotificationModel();
$notificationModel->setModule('article');
$notificationModel->setMessage('Testmessage1');
$notificationModel->setURL('https://www.google.de');
if ($notificationsMapper->isValidNotification($notificationModel)) {
// gültig
}
Es gibt noch weitere Funktionen, welche allerdings nicht von einem Modul aufgerufen werden sollten.
Modules\Admin\Mappers\Notifications
https://github.com/IlchCMS/Ilch-2.0/blob/master/application/modules/admin/mappers/Notifications.php
public function getNotificationById($id)
public function getNotifications()
public function getNotificationsByModule($module)
// Seit 2.1.14
public function getNotificationsByType($type)
public function isValidNotification(NotificationModel $notification)
public function addNotification(NotificationModel $notification)
public function updateNotificationById(NotificationModel $notification)
public function deleteNotificationById($id)
public function deleteNotificationsByModule($module)
public function deleteNotificationsByType($type)
public function deleteAllNotifications()
Modules\Admin\Mappers\NotificationPermission
https://github.com/IlchCMS/Ilch-2.0/blob/master/application/modules/admin/mappers/NotificationPermission.php
public function getPermissions()
public function getPermissionOfModule($module)
public function updatePermissionOfModule(NotificationPermissionModel $permission)
public function updatePermissionGrantedOfModule($module, $granted)
public function updateLimitOfModule($module, $limit)
public function addPermissionForModule(NotificationPermissionModel $permission)
public function deletePermissionOfModule($module)
Modules\Admin\Models\Notification
https://github.com/IlchCMS/Ilch-2.0/blob/master/application/modules/admin/models/Notification.php
- Id
- Timestamp
- Module
- Message
- URL
- Type (seit 2.1.14)
Modules\Admin\Models\NotificationPermission
https://github.com/IlchCMS/Ilch-2.0/blob/master/application/modules/admin/models/NotificationPermission.php
- Module
- Granted
- Limit
Dokumentation für ilch 2 | Content-Management-System | Copyright © 2004-2024 by ilch.de
-
Inhaltsverzeichnis
Hier findet man u.a. die Installationsanleitung, sowie Fehler- und Problem-behebungen
-
Inhaltsverzeichnis
Hier findet man Informationen zum Script, Konzept und dem Programmierstil
-
Inhaltsverzeichnis
Hier findet man Informationen über den Aufbau und Anpassung von Layouts und Modulen
-
Inhaltsverzeichnis
Hier findet man einige Video-Tutorials um und mit unserem CMS