dact-admin顶部的导航栏怎么设置?

顶部的导航栏怎么设置
请问有人知道dact-admin 顶部的这个导航栏标签在哪里设置吗?我想设置切换语言?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 7
翟宇鑫

主要是这两个部分:

<?php

namespace App\Admin\Actions;

use App\Admin\Forms\AdminSetting as AdminSettingForm;
use Dcat\Admin\Actions\Action;
use Dcat\Admin\Widgets\Modal;

class AdminSetting extends Action
{
    public function render()
    {
        $title = '<i class="feather icon-edit" style="font-size: 1.5rem"></i> '.trans('admin.site_setting');
        $modal = Modal::make()
            ->id('admin-setting-config') // 导航栏显示弹窗,必须固定 ID,随机 ID 会在刷新后失败
            ->title($title)
            ->body(AdminSettingForm::make())
            ->lg()
            ->button(
                <<<HTML
<ul class="nav navbar-nav">
     <li class="nav-item"> &nbsp;{$title} &nbsp;</li>
</ul>
HTML
            );

        return $modal->render();
    }
}
<?php

namespace App\Admin\Forms;

use Dcat\Admin\Contracts\LazyRenderable;
use Dcat\Admin\Traits\LazyWidget;
use Dcat\Admin\Widgets\Form;
use Illuminate\Support\Arr;

class AdminSetting extends Form implements LazyRenderable
{
    use LazyWidget;

    /**
     * 处理表单请求.
     *
     * @param array $input
     *
     * @return mixed
     */
    public function handle(array $input)
    {
        $input['layout']['horizontal_menu'] = in_array('horizontal_menu', $input['layout']['body_class'], true);

        foreach (Arr::dot($input) as $k => $v) {
            $this->update($k, $v);
        }

        return $this->response()->success(trans('global.set_successfully'));
    }

    /**
     * 构建表单.
     */
    public function form()
    {
        // 主题颜色
        $colors = [
            'default' => trans('site.settings.options.layout.color.default'),
            'blue' => trans('site.settings.options.layout.color.blue'),
            'blue-light' => trans('site.settings.options.layout.color.blue-light'),
            'green' => trans('site.settings.options.layout.color.green'),
        ];

        $this->text('name', trans('site.settings.form.name'))->required()->help(trans('site.settings.help.name'));
        $this->text('logo', trans('site.settings.form.logo'))->required()->help(trans('site.settings.help.logo'));
        $this->text('logo-mini', trans('site.settings.form.logi-mini'))->required();
        $this->radio('lang', trans('site.settings.form.lang'))->required()->options(['en' => trans('site.settings.options.lang.en'), 'ja' => trans('site.settings.options.lang.ja'), 'zh_CN' => trans('site.settings.options.lang.zh_CN')]);
        $this->radio('layout.color', trans('site.settings.form.layout.color'))
            ->required()
            ->help(trans('site.settings.help.layout.color'))
            ->options($colors);

        $this->radio('layout.sidebar_style', trans('site.settings.form.layout.sidebar_style'))
            ->options(['light' => trans('site.settings.options.layout.sidebar_style.light'), 'primary' => trans('site.settings.options.layout.sidebar_style.primary')])
            ->help(trans('site.settings.help.layout.sidebar_style'));

        $this->checkbox('layout.body_class', trans('site.settings.form.layout.body_class'))
            ->options([
                'horizontal_menu' => trans('site.settings.options.layout.body_class.horizontal_menu'),
                'sidebar-separate' => trans('site.settings.options.layout.body_class.sidebar-separate'),
            ])
            ->help(trans('site.settings.help.layout.body_class'));
        $this->switch('https', trans('site.settings.form.https'));
        $this->switch('helpers.enable', trans('site.settings.form.helpers.enable'));
    }

    /**
     * 设置接口保存成功后的回调JS代码.
     *
     * 1.2秒后刷新整个页面.
     *
     * @return string|void
     */
    public function savedScript()
    {
        return <<<'JS'
    if (data.status) {
        setTimeout(function () {
          location.reload()
        }, 1200);
    }
JS;
    }

    /**
     * 返回表单数据.
     *
     * @return array
     */
    public function default()
    {
        return admin_config();
    }

    /**
     * 更新配置.
     *
     * @param string $key
     * @param string $value
     */
    protected function update($key, $value)
    {
        admin_config([$key => $value]);
    }
}
1天前 评论
蜗牛啊蜗牛 (楼主) 1天前
Dcatplus-杨光

file

app/Admin/bootstrap.php

Admin::navbar(function (Navbar $navbar) use ($notifications) {

    //$navbar->left(view('nav_left'));
    $navbar->right(view('nav_right')); // 在视图中添加自己想要的内容
});

resources/views/nav_right.blade.php

    @if(config('admin.support_locale_open'))
    <li class="dropdown" style="text-align: center">
        <a class="nav-link nav-link-label" href="#" data-toggle="dropdown" aria-expanded="true">
            <i class="ficon fa fa-language"></i>
        </a>
        <ul class="dropdown-menu dropdown-menu-right">
            @foreach (config('admin.support_locale') as $lang)
                <li class="dropdown-item">
                    <a href="javascript:void(0)" class='locale_item' data-lang="{{$lang}}">
                        @if($lang == config(''))
                        @endif
                        <i class="fi fi-{{$lang}} f22"></i>
                        &nbsp;&nbsp;{{trans('support-locale.'.$lang)}}</a>
                </li>
            @endforeach
        </ul>
    </li>
    @endif

config/admin.php

/**
     * support locale
     */
    'support_locale_open' => true, //开启多语言选择
    'support_locale' => [
        'cn', // 中国 (China)
        'tw', // 中国台湾 (China taiwan)
        'us', // 美国 (United States)
        'jp', // 日本 (Japan)
        'de', // 德国 (Germany)
        'gb', // 英国 (United Kingdom)
        'fr', // 法国 (France)
         /*'in', // 印度 (India)
        'br', // 巴西 (Brazil)
        'ru', // 俄罗斯 (Russia)
        'it', // 意大利 (Italy)
        'ca', // 加拿大 (Canada)
        'kr', // 韩国 (South Korea)
        'au', // 澳大利亚 (Australia)
        'es', // 西班牙 (Spain)
        'mx', // 墨西哥 (Mexico)
        'id', // 印度尼西亚 (Indonesia)
        'nl', // 荷兰 (Netherlands)
        'sa', // 沙特阿拉伯 (Saudi Arabia)
        'tr', // 土耳其 (Turkey)
        'ch', // 瑞士 (Switzerland)*/
    ],
1天前 评论
蜗牛啊蜗牛 (楼主) 1天前
蜗牛啊蜗牛 (楼主) 1天前
Dcatplus-杨光 (作者) 1天前

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