PHP建站技术分享-从入门到精通PHP建站技术分享-从入门到精通PHP建站技术分享-从入门到精通

QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > CMS教程 > Fastadmin

关联id动态下拉修改

管理员 2024-12-14
Fastadmin
19

找到下拉关联id要查询的那个控制器,然后index方法下面有一个:

        //如果发送的来源是Selectpage,则转发到Selectpage        if ($this->request->request('keyField')) {            return $this->selectpage();        }

*如果查询的那个控制器没有index方法,就去admin/libary/traits/Backend.php里去复制一个index方法到查询的那个控制器当中
把return $this->selectpage();干掉,然后自己写查询数据返回,返回的变量需要有list和total,list是数据,total是条数,再加上模糊查询和编辑时候的默认选中,另外你还可以修改展示的名称,以下是参考的写法:

        if ($this->request->request('keyField')) {            #定义空数组            $b = array();            #判断是否有手动输入的查询名称            if(!$this->request->request('name')){                #条件为true                $where = 1;            }else{                #like模糊查询                $where = "name like"."'%".$this->request->request('name')."%'  or id like"."'%".$this->request->request('name')."%'";            }            $a['list'] = db::name('goods')->where($where)->page($this->request->request('pageNumber'),10)->select();            $a['total'] = db::name('goods')->where($where)->count();            #判断是否有值,有值则为打开编辑时默认返回的,没有值的时候是添加点击事件传过来的            if($this->request->request('keyValue')){                $a['list'] = db::name('goods')->where(['id'=>$this->request->request('keyValue')])->find();                $b['list'][0] = $a['list'];            }else{                foreach($a['list'] as $k=>$v){                    $b['list'][$k] = $v;                }                #分页条数                $b['total'] = $a['total'];            }            foreach($b['list'] as $k=>$v){                #返回的是name,这里可以自定义返回的内容                if($v['activeswitch']==1){                    $b['list'][$k]['name'] = '商品ID:'.$v['id'].'---商品名称:'.$v['name'].'---类型:活动专属';                }else{                    $b['list'][$k]['name'] = '商品ID:'.$v['id'].'---商品名称:'.$v['name'].'---类型:普通商品';                }                            }            #返回下拉数据            return $b;        }

$this->request->request('keyField')中的keyField只是一个参数,你可以打开f12然后点击下拉的时候看headers最下面传的参数,有好几个,包括keyField、name、keyValue等等.

效果图:
111.png


希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部