} } } elseif ($_type == 'parent') { $_parents = $_category->getParents($_catlist, $_v); $_topParent = $_parents[0]; $_ids = array_merge($_ids, array($_topParent['id'])); } else { // 默认行为:包含子栏目和自身 $_ids = array_merge($_ids, $_category->getChildsId($_catlist, $_v, true)); } } } else { if ($_type == 'son') { $_ids = $_category->getChildsId($_catlist, $_cid, false); } elseif ($_type == 'self') { $_ids = array($_cid); } elseif ($_type == 'top') { foreach ($_catlist as $_cat) { if ($_cat['pid'] == 0) { $_ids[] = $_cat['id']; } } } elseif ($_type == 'parent') { $_parents = $_category->getParents($_catlist, $_cid); $_topParent = $_parents[0]; $_ids = array($_topParent['id']); } else { // 默认行为:包含子栏目和自身 $_ids = $_category->getChildsId($_catlist, $_cid, true); } } $_where = array('create_time' => array('LT', time()), 'cid'=> array('IN', $_ids)); }else { $_where = array('create_time' => array('LT', time())); } if ($_keyword != -1) { $_where['title'] = array('LIKE','%'.$_keyword.'%'); } if ($_flag) { $_where['istop'] = $_flag; } if ($_top) { $_where['top'] = $_top; } if ($_image != -1) { $_where['pic'] = $_image ? ['NEQ', ''] : ['EQ', '']; } if ($_tag != -1) { $_jgf = ','; $_jgf = strpos($_tag, ',') ? ',' : $_jgf; $_taglist = explode($_jgf,$_tag); if (count($_taglist) > 1) { $_tagarr = array(); foreach ($_taglist as $_k => $_v) { $_tagarr[] = ['LIKE','%'.$_v.'%']; } $_tagarr[] = 'or'; $_where['tag'] = $_tagarr; }else{ $_where['tag'] = ['LIKE','%'.$_tag.'%']; } } $_where['create_time'] = ['LT', time()]; //地区独立内容 if ($_areaid) { $_arealist = explode(',', $_areaid); $_areawhere = []; foreach ($_arealist as $key => $value) { if ($value) { $_areawhere[] = ['LIKE','%,'.$value.',%']; } } if (count($_areawhere) > 1) { $_areawhere[] = 'or'; $_where['area'] = $_areawhere; }else{ $_where['area'] = $_areawhere[0]; } }else{ $_area = session('sys_areainfo'); if ($_area) { $_where['area'] = [['exp',' is NULL'],['eq',''],['eq',',,'],['LIKE','%,'.$_area['id'].',%'], 'or']; }else{ $_where['area'] = [['exp',' is NULL'],['eq',''],['eq',',,'],['LIKE','%,88888888,%'], 'or']; } } $_wheresql = ''; $_pageurlarr = []; if ($_sql != -1) { //拼接SQL语句 $_db = db('diyfield'); $_sqlstrlist = explode(" ", $_sql); $_sqlstr = ' '; if ($_sqlstrlist) { foreach ($_sqlstrlist as $key1 => $value1) { if (is_numeric($value1)) { $_fieldname = $_db->where(['id'=>$value1])->value('field'); if (isset($_GET[$_fieldname]) && $_GET[$_fieldname] != '不限' && $_GET[$_fieldname] != '') { $_filelist = explode(',', $_GET[$_fieldname]); $_instr = ""; foreach ($_filelist as $key2 => $value2) { if ($value2) { $_instr = $_instr ? $_instr." OR ($_fieldname LIKE '%".$value2."%')" : "($_fieldname LIKE '%".$value2."%')"; } } $_sqlstr = $_sqlstr."($_instr) "; }else{ $_sqlstr = $_sqlstr."( 1 = 1 ) "; } $_pageurlarr[$_fieldname] = isset($_GET[$_fieldname]) ? $_GET[$_fieldname] : ''; }else{ if ($value1 == 'or') { $_sqlstr = $_sqlstr."or "; } if ($value1 == 'and' ) { $_sqlstr = $_sqlstr."and "; } } } } $_wheresql = $_sqlstr; } //获取模型别名 $_tabname = ""; if ($_cid != -1 && !empty($_cid)) { $_mid = db('category')->where(['id'=>$_cid])->value('mid'); $_tabname = db('diymodel')->where(['id'=>$_mid])->value('tabname'); } $page = "";//分页 if ($_pagesize > 0) { $_pagearr = []; switch (config('sys.url_model')) { case '1'://动态 $param['s'] = request()->pathinfo(); $param = array_merge($param, request()->param()); $_pagearr = [