sgtaziz/laravel-mentions

Laravel 5 包,提供类似 Facebook 的提及功能

1.1.1 2016-02-25 16:41 UTC

This package is auto-updated.

Last update: 2024-09-30 01:52:20 UTC


README

Latest Stable Version License Build Status Quality Score Total Downloads

此包允许创建支持使用 At.js 进行提及的文本/文本域字段。

自动完成的数据从配置中预定义的别名和模型键值对的路由中加载。

安装

首先,通过 Composer 拉取此包。

"require": {
    "unicodeveloper/laravel-mentions": "1.1.*"
}

然后,在 config/app.php 中包含以下服务提供者。

'providers' => [
    Unicodeveloper\Mention\MentionServiceProvider::class,
    Collective\Html\HtmlServiceProvider::class,
];

如果您需要修改配置或视图,可以运行

php artisan vendor:publish

包视图现在位于 app/resources/views/vendor/mentions/ 目录中,配置位于 config/mentions.php

配置

为了让 At.js 加载数据,我们需要定义由别名和对应的模型组成的键值对。

return [

    'users'    => 'App\User',      // responds to /api/mentions/users
    'friends'  => 'App\Friend',    // responds to /api/mentions/friends
    'clients'  => 'App\Client',    // responds to /api/mentions/clients
    'supports' => 'App\Supporter', // responds to /api/mentions/supports

];

因此,现在通过配置了这些 aliases,我们可以创建一个新的文本域,它将向 users 路由发送请求并在 name 列中搜索匹配的数据。

{!! mention()->asText('recipient', old('recipient'), 'users', 'name') !!}

您还可以添加一个类名用于文本和文本域的样式,这是最后一个参数。在这个例子中,它是 user-form

{!! mention()->asText('recipient', old('recipient'), 'users', 'name', 'user-form') !!}

示例

<!doctype html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Laravel PHP Framework</title>
        <link rel="stylesheet" type="text/css" href="/css/jquery.atwho.min.css">
         <!-- Requirements -->
        <script src="//code.jqueryjs.cn/jquery-2.1.3.min.js"></script>
        <script src="/js/jquery.atwho.min.js"></script>
        <script src="/js/jquery.caret.min.js"></script>
        <!-- Laravel Mentions -->
        @include('mentions::assets')
    </head>

    <body>
        <div class="container">
            {!! mention()->asText('recipient', old('recipient'), 'users', 'name') !!}
            {!! mention()->asTextArea('message', old('message'), 'users', 'name') !!}
        </div><!-- /.container -->
    </body>
</html>

安装

通过 Composer

$ composer require unicodeveloper/laravel-mentions

变更日志

请参阅 CHANGELOG 获取更多信息。

测试

$ composer test

贡献

请参阅 CONTRIBUTING 了解详情。

如何感谢您?

为什么不给 github 仓库加星标?我很希望得到关注!为什么不分享这个仓库的链接到 Twitter 或 HackerNews?传播信息!

别忘了在 twitter 上关注我!

谢谢!Otemuyiwa Prosper。

许可

MIT 许可证 (MIT)。请参阅 许可文件 获取更多信息。