本文解决了Laravel-Admin后台管理中两个问题。头像上传时错误。其次自定义面包屑导航实现方法,提供了完整的配置代码和实现步骤,帮助开发者快速解决这两个后台管理中的常见问题。
目录
管理员编辑头像
在后台管理员管理中修改管理员头像时提示:
bash
Config error.
Disk [admin] not configured, please add a disk config in `config/filesystems.php`.
问题原因
laravel-admin 在配置文件中指定使用 admin 磁盘来存储上传的文件( config/admin.php 第 156 行),但是在 config/filesystems.php 中没有配置这个磁盘,导致上传图片时出现 "Config error. Disk [admin] not configured" 错误。
添加磁盘配置
在文件 config/filesystems.php中
php
'admin' => [
'driver' => 'local',
'root' => public_path('uploads'),
'visibility' => 'public',
'url' => env('APP_URL').'/uploads',
],
清除配置缓存
执行 php artisan config:clear 使新配置立即生效。
修改后台面包屑导航
如何生成面包屑导航
laravel-admin 会自动根据 URL 路径生成面包屑导航。
文件是:vendor\encore\laravel-admin\resources\views\content.blade.php
面包屑导航在第 43-49 行使用了 ucfirst(Request::segment($i)) 。

创建导航视图文件
需要创建一个自定义的面包屑导航的 Content 视图,以覆盖原有视图;
创建resources/views/vendor/admin/content.blade.php文件,
内容如下:
php
@extends('admin::index', ['header' => strip_tags($header)])
@section('content')
<section class="content-header">
<h1>
{!! $header ?: trans('admin.title') !!}
<small>{!! $description ?: trans('admin.description') !!}</small>
</h1>
<!-- breadcrumb start -->
@if ($breadcrumb)
<ol class="breadcrumb" style="margin-right: 30px;">
<li><a href="{{ admin_url('/') }}"><i class="fa fa-dashboard"></i> {{__('admin.Home')}}</a></li>
@foreach($breadcrumb as $item)
@if($loop->last)
<li class="active">
@if (\Illuminate\Support\Arr::has($item, 'icon'))
<i class="fa fa-{{ $item['icon'] }}"></i>
@endif
{{ $item['text'] }}
</li>
@else
<li>
@if (\Illuminate\Support\Arr::has($item, 'url'))
<a href="{{ admin_url(\Illuminate\Support\Arr::get($item, 'url')) }}">
@if (\Illuminate\Support\Arr::has($item, 'icon'))
<i class="fa fa-{{ $item['icon'] }}"></i>
@endif
{{ $item['text'] }}
</a>
@else
@if (\Illuminate\Support\Arr::has($item, 'icon'))
<i class="fa fa-{{ $item['icon'] }}"></i>
@endif
{{ $item['text'] }}
@endif
</li>
@endif
@endforeach
</ol>
@elseif(config('admin.enable_default_breadcrumb'))
<ol class="breadcrumb" style="margin-right: 30px;">
<li><a href="{{ admin_url('/') }}"><i class="fa fa-dashboard"></i> {{__('admin.Home')}}</a></li>
@php
$segments = Request::segments();
$uri = '';
@endphp
@for($i = 0; $i < count($segments); $i++)
@php
$uri .= '/' . $segments[$i];
$segmentKey = strtolower($segments[$i]);
$translatedTitle = trans("admin.menu_titles.{$segmentKey}");
$displayTitle = ($translatedTitle && $translatedTitle !== "admin.menu_titles.{$segmentKey}")
? $translatedTitle
: ucfirst($segments[$i]);
@endphp
@if($i == count($segments) - 1)
<li class="active">{{ $displayTitle }}</li>
@else
<li><a href="{{ admin_url($uri) }}">{{ $displayTitle }}</a></li>
@endif
@endfor
</ol>
@endif
<!-- breadcrumb end -->
</section>
<section class="content">
@include('admin::partials.alerts')
@include('admin::partials.exception')
@include('admin::partials.toastr')
@if($_view_)
@include($_view_['view'], $_view_['data'])
@else
{!! $_content_ !!}
@endif
</section>
@endsection
添加面包屑导航
在resources/lang/zh-CN.php中增加新的翻译,内容如下:

清除缓存
bash
php artisan view:clear
总结
本文解决了Laravel-Admin后台管理中两个问题。头像上传时错误。其次自定义面包屑导航实现方法,提供了完整的配置代码和实现步骤,帮助开发者快速解决这两个后台管理中的常见问题。