打开菜单时会覆盖上一个菜单,而不是在打开一个tab页

bug问题 · xi_qing · 于 6年前 发布 · 2358 次阅读

之前没描述清楚,在后面打开菜单的时候会出现以下情况,如我点击产品信息管理,在后台主区域会打开产品信息页面,如下图: 之后点击其他菜单,如点击产品评论页面,此时产品评论页面会覆盖产品信息页面,而不会打开新的tab页,如下图:

共收到 7 条回复
Fecmall#16年前 0 个赞

你这样说,你认为别人能看明白吗?描述完成,想一想,是否别人能清楚你的意思、

xi_qing#26年前 0 个赞

问题已经找到,查看了一下源码是在创建菜单时把rel都写成了page1导致的,代码如下 改成一下方式可以使用: 最终效果如下:

Fecmall#36年前 0 个赞

@xi_qing #2楼 这样不行的,回存在问题, 由于fecshop的admin部分,为了更快的增删改查,这个部分是封装的,写一个增删改查带有排序搜索分页功能就比较快。 这样,很多tab的html部分的class和div结构会很类似,因此 ,会存在执行冲突,tab2的js会操作tab1的html,譬如一些ajax操作需要修改内容。

因此不要这样改。

Fecmall#46年前 0 个赞

@xi_qing [#2楼](#comment2) 譬如:

后台对page页的列表的展示部分: https://github.com/fecshop/yii2_fecshop/blob/master/app/appadmin/modules/Cms/block/article/Index.php

大致只需要重写这两个方法就出来列表的

 public function getSearchArr()
    {
        $data = [
            [    // selecit的Int 类型
                'type'=>'select',
                'title'=>'状态',
                'name'=>'status',
                'columns_type' =>'int',  // int使用标准匹配, string使用模糊查询
                'value'=> [                    // select 类型的值
                    1=>'激活',
                    2=>'关闭',
                ],
            ],
            [    // 字符串类型
                'type'=>'inputtext',
                'title'=>'标题',
                'name'=>'title',
                'columns_type' =>'string',
            ],
            [    // 时间区间类型搜索
                'type'=>'inputdatefilter',
                'name'=> 'created_at',
                'columns_type' =>'int',
                'value'=>[
                    'gte'=>'用户创建时间开始',
                    'lt' =>'用户创建时间结束',
                ],
            ],
        ];
        return $data;
    }
    /**
     * config function ,return table columns config.
     */
    public function getTableFieldArr()
    {
        $table_th_bar = [
            [
                'orderField'    => $this->_primaryKey,
                'label'            => 'ID',
                'width'            => '50',
                'align'        => 'center',
            ],
            [
                'orderField'    => 'title',
                'label'            => '标题',
                'width'            => '50',
                'align'        => 'left',
                'lang'            => true,
            ],
            [
                'orderField'    => 'created_user_id',
                'label'            => '创建人',
                'width'            => '110',
                'align'        => 'center',
            ],
            [
                'orderField'    => 'created_at',
                'label'            => '创建时间',
                'width'            => '110',
                'align'        => 'center',
                'convert'        => ['int' => 'datetime'],
            ],
            [
                'orderField'    => 'updated_at',
                'label'            => '更新时间',
                'width'            => '110',
                'align'        => 'center',
                'convert'        => ['int' => 'datetime'],
            ],
        ];
        return $table_th_bar;
    }

这种方式也是参考的magento的封装。不过magento的封装,封的更厉害,导致灵活性不高。当然,我这种封装方式,灵活性方面也有点欠缺。

xi_qing#56年前 0 个赞

@Terry #3楼 明白你的意思,刚看了一下dom结构,确实会存在你说的问题。那是否意味着目前的主tab只能打开一个菜单?

Fecmall#66年前 0 个赞

@xi_qing #5楼 嗯,是这个意思,如果两个页面的div标签全部不一样,不存在冲突,就没有问题了。

xi_qing#76年前 0 个赞

@Terry #6楼 明白了,先按照打开一个的吧

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics