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.

Supporting organizations: 
Maintenance

Project information

Releases