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 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3
 url: '{{ url('admin/setLang') }}'的代码能不能参考下呀?

respect~~

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

file

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

file@

3年前 评论
vapor 3年前

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