Laravel-Admin 语言改为中文(2)

本文解决了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后台管理中两个问题。头像上传时错误。其次自定义面包屑导航实现方法,提供了完整的配置代码和实现步骤,帮助开发者快速解决这两个后台管理中的常见问题。

相关推荐
北京盛世宏博15 小时前
物联网传感器通信协议:帧字段规划、CRC 校验、异常包过滤方案
网络·物联网·php
三84415 小时前
PHP Session 反序列化:防御加固、审计套路与总结
web安全·php·安全加固·session反序列化
中科三方16 小时前
DNS拨测到底在拨测什么?
开发语言·github·php·dns·云拨测
企业通信技术笔记17 小时前
企业IM内外网隔离部署:DNS、证书、WebSocket与跨网接口设计
websocket·网络协议·架构·php·信息与通信
szarron17 小时前
RF Demo Kit|NanoVNA 射频演示测试板完整上手教程,滤波器、衰减器、SOLT 校准学习板
开发语言·人工智能·学习·php·射频工程·频谱仪
sbjdhjd20 小时前
从 assert 动态调用报错到临时文件链路:PHP 5.6 与 7.3 授权靶场中的短 payload 复盘 | (17字符绕过)
安全·网络安全·数据挖掘·开源·云计算·php·字符绕过
sbjdhjd20 小时前
从 7 字符文件名拼接到二维数组取值:PHP 无参函数限制下的受控靶场复盘 | (7字符绕过)
网络·nginx·安全·网络安全·云计算·php·apache
fengkai454521 小时前
七、华为云网络综合实验 & 运维类及其他服务总结
服务器·开发语言·php
PHP实战开发录21 小时前
PHP日志写满磁盘后接口为什么异常
开发语言·系统架构·php·开发