momenoor/backpackusermanager

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

v1.0.0 2023-04-26 14:31 UTC

This package is auto-updated.

Last update: 2024-09-26 21:39:26 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 momenoor/backpackusermanager
  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/momenoor/usermanager.php 文件中更正这些假设。要发布文件,请运行
php artisan vendor:publish --provider="Momenoor\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 momenoor/backpackusermanager
  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 momenoor/backpackusermanager
  1. 对于Laravel <5.5,将服务提供者添加到您的config/app.php文件中
Momenoor\UserManager\UserManagerServiceProvider::class,
  1. 在您的User模型上使用以下特性
<?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 并在 src/app/Http/Controllers/UserCrudController 中简单地添加 handlePasswordInputaddFields 方法。 查看代码

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

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

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

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

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

  • 在UserCrudController中设置模型,例如

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

  • 在每个文件中,将我的命名空间 Momenoor\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 momenoor/usermanager:"^3.0" 来要求此包的版本 ^3.0
  • (很可能) 将用户模型在usermanager配置文件中从 App\Models\BackpackUser::class 更改为 App\User::class
  • (不太可能) 如果您已在此包中扩展UserCrudController并修改了 handlePasswordInput() 函数,您还需要注意,现在使用设置器和获取器而不是直接作为属性来获取crud请求;请仔细阅读Backpack 4.1升级指南中的第11步,或查看此包中的新代码以获取灵感;