ipunkt/laravel-notify

此包已被废弃,不再维护。未建议替代包。

为laravel 4提供即用对象式通知接口,包括为Twitter Bootstrap 3工作示例的javascript和css

1.1.1 2019-02-01 12:55 UTC

This package is auto-updated.

Last update: 2023-03-23 03:06:51 UTC


README

Latest Stable Version Latest Unstable Version License Total Downloads

为laravel 4提供即用对象式通知接口,包括为Twitter Bootstrap 3工作示例的javascript和css

安装

在composer.json中添加以下行

"require": {
	"ipunkt/laravel-notify": "1.*"
}

'Ipunkt\LaravelNotify\LaravelNotifyServiceProvider',添加到app/config/app.php中的providers。服务提供者还为您应用注册了一个别名Notify

在命令行中发布数据库迁移

$> php artisan migrate --package="ipunkt/laravel-notify"

使用方法

在您的bootstrap中添加已提供的视图组合器以自动处理给定的视图脚本

View::composer('laravel-notify::notification', 'Ipunkt\LaravelNotify\Composers\ViewComposer');

视图组合器将一个变量$notifications注入到视图中。它是一个包含所有创建或读取的通知的集合。

现在您可以使用此模板显示所有通知,或者您可以使用它与Bootstrap 3一起在navbar中使用,如下所示。

$> php artisan asset:publish ipunkt/laravel-notify

然后在您的布局中包含以下文件:/packages/ipunkt/laravel-notify/css/notify.css/packages/ipunkt/laravel-notify/js/notify.js。后者需要存在jQuery。

然后在您的布局中创建一个<li id="notify"><a href="{{{ URL::route('notify.index') }}}"><i class="glyphicon glyphicon-warning-sign"></i></a></li>在navbar导航列表中。

每当有通知要列出时,视图组合器首先在提供的notification视图中填充$notifications变量,然后javascript通过ajax调用获取这些通知并显示为菜单。如果没有javascript,链接将打开一个页面,其中将列出所有通知。

重要提示

不要忘记为包构建的路线设置过滤器。例如

Route::when('notify/*', 'auth');

此示例将auth过滤器添加到所有包构建的路由中。

用例

1. 消息通知

如果您想发布简单的消息通知,请按以下操作通知用户

$user = Auth::user();
Notify::user($user, new \Ipunkt\LaravelNotify\Types\MessageNotification('Welcome on board!'));
// or
// Notify::users([$user, ...], new \Ipunkt\LaravelNotify\Types\MessageNotification('Welcome on board!'));

这向当前登录用户发送了一个简单的消息通知。

2. 特定通知

对于发送应用程序特定的通知,只需创建自己的NotificationType。

class MyNotification extends Ipunkt\LaravelNotify\Types\AbstractNotification {
}

然后您可以根据需要修改读取和完成操作。您还可以添加自己的自定义操作。您不必只使用这3个操作:createdreaddone。您可以构建自己的自定义工作流。试试看!

AbstractNotification将用户发送到完成操作,如果他阅读了通知。重写此行为以拥有自己的工作流。以done结束可能是一个好主意,而以created开始是由当前实现固定的。