laravel-admin1.6版本的使用技巧以及遇到的那些坑

3,183 阅读2分钟

当你看到这篇文章的时候一定对laravel-admin有所了解,下面的用法将让你减少学习成本

laravel-admin1.5.*版本点击跳转:

Laravel-admin 自定义excel导出数据

laravel-admin报错:Disk [admin] not configured, please add a disk config in `config请点击链接找解决方案

遇到报错:Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes

如需重写内置视图以及设置语言

自己写的工资管理系统可查看源码  github.com/WXiangQian/…

自己写的办公用品管理系统可查看源码  github.com/WXiangQian/…

感觉不错的话请点击右上角  star  谢谢支持

laravel-admin  手册地址

laravel-admin demo地址  打开demo.laravel-admin.org/auth/login,用账号密码admin/admin登陆

laravel-admin 安装地址:laravel-admin.org/docs/zh/ins…

model-show支持显示数据详情

1.5版本很多方法同样也适用于1.6版本中,如果本文没提到的使用技巧可直接跳转1.5版本的文章查看

这个命令用来创建一个admin用户,用交互式的方式填写用户名和密码、并且选择角色之后,会创建一个可登陆的用户

php artisan admin:create-user

 Please enter a username to login: // 用户名
 > test
 Please enter a password to login: // 密码
 >
 Please enter a name to display: // 名称
 > name
 Please choose a role for the user: // 选择角色
  [0] Administrator
 > 0
User [name] created successfully.

给指定用户重置密码,根据命令的提示来操作

php artisan admin:reset-password

Please enter a username who needs to reset his password:  // 输入重置哪个用户名的密码
 > test
t?[K?7est?8e?[K?7st?8s?[K?7t?8t?[K?7?8
 Please enter a password: // 新密码
 >
 Please confirm the password: // 确认新密码
 >
User password reset successfully.

自定义头部导航条 从版本1.5.6开始,可以在顶部导航条上添加html元素了, 打开app/Admin/bootstrap.phpleftright方法分别用来在头部的左右两边添加内容, 方法参数可以是任何可以渲染的对象(实现了HtmlableRenderable接口或者包含__toString()方法的对象)或字符串

    use Encore\Admin\Facades\Admin;
    Admin::navbar(function (\Encore\Admin\Widgets\Navbar $navbar) {
        $navbar->left('html...');
        $navbar->right('html...');
    });


    左侧添加示例  举个例子,比如在左边添加一个搜索条,
    先创建一个blade视图`resources/views/search-bar.blade.php`:

    <style>
    .search-form {
        width: 250px;
        margin: 10px 0 0 20px;
        border-radius: 3px;
        float: left;
    }
    .search-form input[type="text"] {
        color: #666;
        border: 0;
    }
    .search-form .btn {
        color: #999;
        background-color: #fff;
        border: 0;
    }
    </style>
    
    <form action="/admin/posts" method="get" class="search-form" pjax-container>
        <div class="input-group input-group-sm ">
            <input type="text" name="title" class="form-control" placeholder="Search...">
            <span class="input-group-btn">
                <button type="submit" name="search" id="search-btn" class="btn btn-flat"><i class="fa fa-search"></i></button>
              </span>
        </div>
    </form>
    
    //然后加入头部导航条:
    $navbar->left(view('search-bar'));
    

model-grid可以通过下面的方式关闭修改、查看、删除按钮:

$grid->actions(function ($actions) {
    // $actions->disableDelete();
    // $actions->disableEdit();
    //禁用显示详情按钮
    $actions->disableView();
});

上传头像不显示问题

config--->admin.php
将'disk'=>'admin' 修改成 'disk' => 'public'
在所属项目执行 php artisan storage:link 刷新页面,重新上传,就能正常显示上传的头像。

修改 laravel-admin form布局($form->row)

$form->row(function ($row) use ($form)
{
      $row->width(4)->text('id', 'id')->rules('required');
      $row->width(4)->text('name', 'name')->rules('required');
      $row->width(4)->text('value', 'value')->rules('required');

},  $form); 

Grid过滤器支持多列布局

如果过滤器太多,会把页面拉的很长,将会很影响页面的观感,这个版本将支持过滤器的多列布局, 比如6个过滤器分两列显示

    $filter->column(1/2, function ($filter) {
        $filter->like('title');
        $filter->between('rate');
    });
    
    $filter->column(1/2, function ($filter) {
        $filter->equal('created_at')->datetime();
        $filter->between('updated_at')->datetime();
        $filter->equal('released')->radio([
            1 => 'YES',
            0 => 'NO',
        ]);
    });

默认会有一个主键字段的过滤器放在第一列,所有左右各三个过滤器一共6个过滤器

column方法的第一个参数设置列宽度,可以设置为比例1/20.5,或者bootstrap的栅格列宽度比如6,如果三列的话可以设置为1/3或者4

文章不断更新中~~~感谢支持