帝国CMS无限联动插件优化解决方案
2018-09-03 站长 站长日志
今天来跟大家谈谈轩儿出品的帝国CMS无限联动插件。这个插件虽然他已经发布很久了,可是因为开发项目一直没用到,所以之前一直没怎么关注,然后最后在开发房产网的时候,很频繁的使用联动功能,所以就尝试下载了来用用,感觉确实不错。可是研究源代码发现,插件有待优化,下面我们来看看具体的问题。
联动插件效果图
这个插件有个很好的功能就是可以生成缓存文件,这样可以提高速度,我们再看看他的调用方式,代码大致如下:
<script> var opt_pro = { ajax: '/e/extend/yl_linkage/get.php?type=1&parentid=1',//联动类型和起始ID select: ['#pro','#city'],//下拉框ID head:'请选择',//下拉框提示语 level:2,//联动级别 defVal: [<?=$pro?>,<?=$city?>]//初始值 }; new LinkageSel(opt_pro); </script> |
//如果有缓存文件,直接使用缓存文件
if(file_exists(ECMS_PATH.'e/extend/yl_linkage/data/linkage_cache_'.$type.'.php'))
{
require(ECMS_PATH.'e/extend/yl_linkage/data/linkage_cache_'.$type.'.php');
$arrstr = 'linkage_'.$type;
$trueArr = $$arrstr;
$sonids = $trueArr[$parentid]['zfl'];
$son_r = explode(',',$sonids);
foreach($son_r as $v){
$arr[$v] = array('name'=> $trueArr[$v]['name']);
}
}else{ //没有缓存文件,只能从数据库读取了
$where = 'WHERE parentid = '.$parentid.' and type = '.$type;
$query="select * from {$dbtbpre}extend_linkage $where order by myorder,id";
$sql=$empire->query($query);
while($row=$empire->fetch($sql)){
$arr[$row['id']] = array('name'=> $row['name']);
}
} |
上一篇:帝国CMS重复关键字替换解决方案
下一篇:帝国cms会员中心调好友列表