求思路,谢谢

laravel-admin

在下面的导航添加的基础上,想添加一个二级导航功能,也就是点击 $SubNav 按钮时触发一个新的导航表单,求思路。谢谢。

<?php

namespace App\Admin\Forms\Navs;

use Encore\Admin\Widgets\Form;
use Illuminate\Http\Request;
use App\Admin\Models\CommonNav;

class admincp_Nav_Nav extends Form
{
    public function __construct()
    {
        $this->title = trans('admin.Nav.Table-name');
        parent::__construct();
    }

    /**
     * The form title.
     *
     * @var  string
     */
    public $title;

    /**
     * Handle the form request.
     *
     * @param  Request $request
     *
     * @return  \Illuminate\Http\RedirectResponse
     */
    public function handle(Request $request)
    {
        $validateRules = [

        ];
        $this->validate($request,$validateRules);
        $data = $request->except('_token');

        CommonNav::truncate();

        foreach($data['common_navs'] as $value)
        {
            if ($value['_remove_'] == '0')
            {
                CommonNav::create
                ([
                    'displayorder' => $value['displayorder'],
                    'navname' => $value['navname'],
                    'navurl' => $value['navurl'],
                    'subnav' => $value['subnav'],
                    'target' => $value['target'],
                ]);
            }
        }

        CommonNav::setcache();

        admin_success(trans('admin.update_succeeded'));

        return back();
    }

    /**
     * Build a form here.
     */
    public function form()
    {
        $this->table('common_navs',trans('admin.Nav.Table-name'), function ($table)
        {
            $table->text('DisplayOrder', trans('admin.Nav.Table-label.DisplayOrder'))->rules('nullable|numeric|integer|min:1');
            $table->text('NavName', trans('admin.Nav.Table-label.NavName'))->rules('required');
            $table->text('NavURL', trans('admin.Nav.Table-label.NavURL'))->rules('required');
            $SubNav = [
                'off' => ['value' => 0, 'text' => trans('admin.no'), 'color' => 'danger'],
                'on'  => ['value' => 1, 'text' => trans('admin.yes'), 'color' => 'success'],
            ];
            $table->switch('SubNav', trans('admin.Nav.Table-label.SubNav'))->states($SubNav);
            $Target = [
                'off' => ['value' => 0, 'text' => trans('admin.no'), 'color' => 'danger'],
                'on'  => ['value' => 1, 'text' => trans('admin.yes'), 'color' => 'success'],
            ];
            $table->switch('Target', trans('admin.Nav.Table-label.Target'))->states($Target);
        });
        $this->disableReset();
    }

    /**
     * The data of the form.
     *
     * @return  array $data
     */
    public function data()
    {
        $navs = CommonNav::orderBy('displayorder', 'ASC')->get()->toArray();
        return [
            'common_navs' => $navs,
        ];
    }
}
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

已解决

4个月前 评论
讨论数量: 2

换我这个 echoyl.com/antadmin 试试吧

4个月前 评论

已解决

4个月前 评论

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