notificationswidget
Notification widget allows you to configure the site notification on bell with feature of :
- Read
- Unread
- Delete
- Clear all
It allows to configure the notifications widget block for displaying the content based on Admin or logged-in user.
It allows to customise the notification message with token replacement like :
[user:name], [node:title], [comment:entity:title] etc.
It provides a block which contains notifications based on settings.
It provides the feature to extend the logs for additional provided entities like
profile_type, paragraphs and more.
It Provide integration with Views for node, comment, term, profile and message.
Service provided to add custom items in notification list :
/**
* Creates a notification in the database.
*
* @param array $message .
* An array containing all the message information.
* Needs to respect the following format:
* $message = [
* 'id' => '12334',
* 'bundle' => 'article',
* 'content' => 'Lorem ipsum read data by [user:name]',
* 'content_link' => 'users-list',
* ];
*
* @param string $userAction
* The action that led to the creation of the notification.
* One of the following: create, update, delete
* @param object $entity
* The entity that led to the notification being triggered.
* Used to replace tokens in the message content.
* @param int|null $uid
* (optional): The user id to which the notification should be sent.
*/
public function logNotification(array $message, string $userAction, object $entity, int $uid = NULL): void;Example usage:
$notificationService = \Drupal::service('notifications_widget.logger');
$message = [
'id' => '1234',
'bundle' => 'article',
'content' => 'Lorem ipsum read data by [user:name]',
'content_link' => 'users-list',
];
$notificationService->logNotification($message, 'create', $entity);
IMPORTANT NOTES :
1. Notifications widget configuration must be saved once module installed.
2. Bootstrap theme or CSS should be included into your project.