Dcat-admin添加顶部右侧按钮

第一步创建对应的视图文件

在resource/view/admin/创建对应的视图文件nav.blade.php(视图文件可以自定义)

视图文件中写入对应的前端代码

<ul class="nav navbar-nav">
    <li class="dropdown dropdown-language nav-item">
        <a class="dropdown-toggle nav-link" href="#" id="dropdown-flag" data-toggle="dropdown">
            <i class="flag-icon flag-icon-us"></i>
            <span class="selected-language">
                @switch(config('app.locale'))
                    @case('zh_CN')
                        简体中文
                    @break
                    @case('en')
                        English
                    @break

                @endswitch
            </span>
        </a>
        <ul class="dropdown-menu" aria-labelledby="dropdown-flag">
            <li class="dropdown-item" href="#" data-language="zh_CN">
                <a><i class="flag-icon flag-icon-fr"></i> 简体中文</a>
            </li>
            <li class="dropdown-item" href="#" data-language="en">
                <a><i class="flag-icon flag-icon-us"></i> English</a>
            </li>

        </ul>
    </li>
</ul>
<input type="hidden" name="token" id="token" value="{{ csrf_token() }}">
<script>
    $('.dropdown-item').on('click', function() {
        let lang = $(this).attr('data-language')
        let token = $("#token").val();
        $.ajax({
            url: '{{ url('admin/setLang') }}',
            type: 'post',
            data: {
                'lang': lang,
                '_token': token
            },
            success: function(data) {
                if (data.code != 0) {
                    alert(data.msg)
                    return false;
                } else {
                    window.location.reload();
                }
            }
        })
    })

</script>
第二步在app/Admin/bootstrap.php中加入如下代码
Admin::navbar(function (Navbar $navbar) {
    $navbar->right(view('admin.nav'));
});

刷新页面就可以看到如下内容

第三步在对应的控制器中添加如下代码
public function setLang(Request $request)
    {
        $lang = $request->get('lang');
        $request->session()->put('lang', $lang);
        return response()->json(['code' => 0], 200);
    }
第四步在dcat初始化文件(app/admin/bootstrap.php)中添加如下代码
$lang = session('lang') ? session('lang') : 'zh_CN';
config([
    'app.locale' => $lang
]);

第三,第四步我是存到session中,可以根据自己的需求存储到对应的位置

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 3
 url: '{{ url('admin/setLang') }}'的代码能不能参考下呀?

respect~~

2年前 评论
阿珂 (楼主) 2年前
vapor (作者) 2年前
阿珂 (楼主) 2年前

file

2年前 评论
vapor 2年前
阿珂 (作者) (楼主) 2年前
阿珂 (作者) (楼主) 2年前

file@

2年前 评论
vapor 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!