eduardoarandah/usermanager

使用 Backpack CRUD 为 Laravel 提供的用户管理界面。

3.0.1 2020-05-13 01:43 UTC

This package is auto-updated.

Last update: 2024-09-13 11:29:19 UTC


README

一个用于轻松添加/编辑/删除用户的后台界面,使用 Backpack for Laravel

Backpack 4

user-manager

Backpack 3

user-manager

安全更新和重大变更

订阅 Backpack 通讯 以获取有关任何安全更新、重大变更或新功能的最新信息。我们每 1-2 个月发送一封电子邮件。

在 Backpack v4.1(Laravel 6 或 Laravel 7)上安装

  1. 在您的终端中
composer require eduardoarandah/usermanager
  1. 在您的 User 模型上添加 Backpack 的 CrudTrait

默认:app/User.php

namespace App;

class BackpackUser extends User
{
    use \Backpack\CRUD\app\Models\Traits\CrudTrait; // <--- Add this line

    // ...
  1. [可选] 如果您的 User 模型不是 App\User::class 或您的用户表不是 users,您应发布此包的配置文件,并在 config/eduardoarandah/usermanager.php 文件中更正这些假设。要发布文件,请运行
php artisan vendor:publish --provider="EduardoArandaH\UserManager\UserManagerServiceProvider" --tag='config'
  1. [可选] 添加侧边栏链接
php artisan backpack:add-sidebar-content "<li class='nav-item'><a class='nav-link' href='{{ backpack_url('user') }}'><i class='nav-icon la la-user'></i> <span>Users</span></a></li>"

(或者,手动在 resources/views/vendor/backpack/base/inc/sidebar_content.blade.phpmenu.blade.php 中添加项目)

在 Backpack v4.0(Laravel 6 或 Laravel 7)上安装

  1. 在您的终端中
composer require eduardoarandah/usermanager
  1. 在您的 User 模型上添加 Backpack 的 CrudTrait

默认:app/Models/BackpackUser.php

namespace App\Models;

use App\User;
use Backpack\CRUD\app\Models\Traits\InheritsRelationsFromParentModel;
use Backpack\CRUD\app\Notifications\ResetPasswordNotification as ResetPasswordNotification;
use Illuminate\Notifications\Notifiable;
use Backpack\CRUD\app\Models\Traits\CrudTrait; <--- Add this line

class BackpackUser extends User
{
    use InheritsRelationsFromParentModel;
    use Notifiable;
    use CrudTrait; <--- Add this line

    ...
  1. [可选] 添加侧边栏链接
php artisan backpack:add-sidebar-content "<li class='nav-item'><a class='nav-link' href='{{ backpack_url('user') }}'><i class='nav-icon fa fa-user'></i> <span>Users</span></a></li>"

(或者,手动在 resources/views/vendor/backpack/base/inc/sidebar_content.blade.phpmenu.blade.php 中添加项目)

在 Backpack v3(Laravel 5)上安装

  1. 在您的终端中
composer require eduardoarandah/usermanager
  1. 对于 Laravel <5.5,将服务提供者添加到您的 config/app.php 文件中
EduardoArandaH\UserManager\UserManagerServiceProvider::class,
  1. 在您的 User 模型上使用以下 traits
<?php namespace App;

use Backpack\CRUD\CrudTrait; // <------------------------------- this one
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use CrudTrait; // <----- this

    /**
     * Your User Model content
     */
  1. [可选] 为它添加一个菜单项
php artisan backpack:base:add-sidebar-content "<li><a href='{{ backpack_url('user') }}'><i class='fa fa-user'></i> <span>Users</span></a></li>"

(或者,手动在 resources/views/vendor/backpack/base/inc/sidebar_content.blade.phpmenu.blade.php 中添加项目)

如何扩展此包

当您需要对用户模型有更多控制时,最好的方法是复制代码。

您甚至可以自己创建 CRUD 控制器,使用 php artisan backpack:crud user 并简单地添加 handlePasswordInputaddFields 方法到 src/app/Http/Controllers/UserCrudController 中。 查看代码

将源代码复制到您的项目中

转到 vendor/eduardoarandah/usermanager/src 并复制

  • 路由:在您的 routes/web.php 文件中的 routes/eduardoarandah/usermanager.php

  • 控制器 app/Http/Controllers/UserCrudController.php 在您的 app/Http/Controllers 文件夹中

  • 请求 app/Http/Requests/* 在您的 app/Http/Controllers 文件夹中

  • 在 UserCrudController 中设置模型,例如

    $this->crud->setModel('App\User'));

  • 在每个文件中,将我的命名空间 EduardoArandaH\UserManager\app\Http\Requests 替换为 App\Http\Requests

现在您可以使用 composer 删除此包

composer remove eduardoarandah/usermanager

字段文档(更新/创建)

https://laravel-backpack.readme.io/docs/crud-fields

列文档(列表视图)

https://laravel-backpack.readme.io/docs/crud-columns-types

从 Backpack 4.0 升级到 4.1

在将您的项目从 Backpack 4.0 升级到 Backpack 4.1 后成功使用此包,您需要

  • 通过更改您的 composer.json 文件或运行 composer require eduardoarandah/usermanager:"^3.0" 来要求此包的版本 ^3.0;
  • (最可能) 在 usermanager 配置文件中将用户模型从 App\Models\BackpackUser::class 更改为 App\User::class;
  • (较少可能) 如果您已在此包中扩展了 UserCrudController 并修改了 handlePasswordInput() 函数,您还需要注意 CRUD 请求现在使用设置器和获取器而不是直接作为属性获取;请仔细查看 Backpack 4.1 升级指南中的 步骤 11,或者查看此包中的新代码以获取灵感;