fastadmin中Selectpage使用自定义的数据

发表时间:2022-03-10 11:14:48
fastadmin默认使用的Selectpage是通过data-source的路径来获取数据的,这个一般都是从数据库中获取的,但是对于很多场景下,这里只需要一点简单的数据,没有必要再建立数据表,我们可以这么做

1、通过系统配置,添加新的变量到数据词典中,类型选择数组


2、在需要的页面添加如下的html
<div class="form-group form-input form-input-ad_type">
		<label class="control-label col-xs-12 col-sm-2">跳转类型:</label>
		<div class="col-xs-12 col-sm-8">
			<input id="c-ad_type" data-source="adszone/adType" data-field="ad_name"
				   data-primary-key="ad_type"
				   class="form-control selectpage" name="row[ad_type]" type="text" value="{$row.ad_type|htmlentities}">
		</div>
	</div>

3、注意上面的data-source,这个是一个数据请求的路径,我们在对应的php文件中添加相应的方法
/**
     * Notes:获取广告位类型
     * DateTime 2022/3/10 10:10
     * @Author wind
     * @return \think\response\Json|void
     */
    public function adType()
    {
        if ($this->request->isAjax()) {
            //如果发送的来源是Selectpage,则转发到Selectpage
            $adType = Config::get('site.ad_type');
            $list = [];
            if ($this->request->request('keyValue')) {
                $list[] = [
                    'ad_type'  => $this->request->request('keyValue'),
                    'ad_name'  => $adType[$this->request->request('keyValue')],
                ];
                return json(['list' => $list, 'total' => count($list)]);
            }
            foreach ($adType as $k=>$v) {
                $list[] = [
                    'ad_type'  => $k,
                    'ad_name'  => $v,
                ];
            }
            return json(['list' => $list, 'total' => count($list)]);
        }
    }

------分割线---------------------------------------

您可能感兴趣

Tags: fastadmin Selectpage

留个脚印

点击我更换图片 (请输入验证码)

最新评论