kalitics / notification-bundle
为 symfony 应用添加通知
2.0.13
2021-10-05 09:25 UTC
Requires
- php: ^7.4
- doctrine/collections: ^1.5
- doctrine/doctrine-bundle: ^2.0
- doctrine/orm: ^2.7
- doctrine/persistence: ^2.2
- gedmo/doctrine-extensions: ^2.3.4 || ^3.0.0
- swiftmailer/swiftmailer: ^6.0
- symfony/config: ^4.4 || ^5.0
- symfony/console: ^4.4 || ^5.0
- symfony/dependency-injection: ^4.4 || ^5.0
- symfony/doctrine-bridge: ^4.4 || ^5.0
- symfony/form: ^4.4 || ^5.0
- symfony/framework-bundle: ^4.4 || ^5.0
- symfony/http-foundation: ^4.4 || ^5.0
- symfony/http-kernel: ^4.4 || ^5.0
- symfony/options-resolver: ^4.4 || ^5.0
- symfony/routing: ^4.4 || ^5.0
- symfony/validator: ^4.4 || ^5.0
- twig/twig: ^2.4 || ^3.0
README
通知管理
安装
使用以下命令添加包:
composer require kalitics/notification-bundle
创建 config/packages/kalitics_notification.yaml 文件,内容如下:
kalitics_notification:
在 config/packages/twig.yaml 中添加一个新的模板路径
twig:
...
paths:
'%kernel.project_dir%/vendor/kalitics/notification-bundle/src/Ressources/views': kaliticsNotification
在 config/bundles.php 中添加一个新的条目以注册新包
Kalitics\NotificationBundle\KaliticsNotificationBundle::class => ['all' => true],
创建 config/routes/kalitics_notification.yaml 新文件
_kalitics_notification:
resource: '@KaliticsNotificationBundle/Ressources/config/routes.xml'
prefix: /kalitics/notifications/
在应用头部添加以下代码以显示通知图标:
{{ include('@KaliticsNotification/icon/notifications_container.html.twig') }}
在应用布局中添加以下代码以显示详情模态框:
{{ include('@KaliticsNotification/_includes/_modal.html.twig') }}
通知订阅管理使用以下控制器显示:
{{ render(path('kalitics_notification_subscription_manage', {'id' : app.user.id})) }}
重要
必须存在一个 User 实体,例如:`App\Entity\User\User`
必须存在一个 Group 实体,例如:`App\Entity\Security\Group`
数据库配置
为了正确配置,数据库需要以下信息:通知类型和分发列表,使用以下表:
ntf_notification_subscription_included_groups
ntf_notification_subscription_included_members
ntf_notification_subscription_excluded_members
用法
要触发通知,
$this->notificationService->generateNotification(NotificationTypeEnum::CREATE_USER);
//Where NotificationTypeEnum::CREATE_USER is the notification slug configured in database