小李SEO博客

网站优化服务

dedecms多个栏目arclist调用副栏目不显示解决办法

织梦dedecms arclist调用副栏目不显示的解决办法。打开/include/taglib/arclist.lib.php,代码约位于295-296行,查找以下两行代码:if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')';else $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')';

将其替换成以下代码:$vicewheres = "";$typeids = explode(",",GetSonIds($typeid));$crossids = explode(",",$CrossID);$typeidss = array_merge($typeids,$crossids);$typeidss = array_unique($typeidss);foreach($typeidss as $tid){$liketypeid2 = ",".$tid.",";$vicewheres.= " or CONCAT(',',arc.typeid2,',') like '%$liketypeid2%' ";}if($CrossID==''){if($vicewheres!="")$orwheres[] = ' (arc.typeid in ('.GetSonIds($typeid).') '.$vicewheres.') ';else$orwheres[] = ' arc.typeid in ('.GetSonIds($typeid).') ';}else{if($vicewheres!="")$orwheres[] = ' (arc.typeid in ('.GetSonIds($typeid).','.$CrossID.') '.$vicewheres.') ';else$orwheres[] = ' arc.typeid in ('.GetSonIds($typeid).','.$CrossID.') ';}

这种办法可以解决typeid="2"的情况下不显示副栏目的问题, 如果typeid=“2,3,8”,有多个栏目需要调用副栏目就不行了 怎么解决这个问题,找到262行, $orwheres[] = " arc.typeid IN ($typeid) "; 直接替换为:$vicewheres = "";foreach($typeid as $tid){$liketypeid2 = ",".$tid.",";$vicewheres.= " or CONCAT(',',arc.typeid2,',') like '%$liketypeid2%' ";}if($vicewheres!="")$orwheres[] = " (arc.typeid in ($typeid) $vicewheres) ";else$orwheres[] = " arc.typeid in ($typeid) ";问题产生的原因,看下arclist.lib.php原始代码:( typeid为主栏目id, typeid2为副栏目id)

找到246行://指定了多个栏目时,不再获取子类的id if( preg_match('#,#', $typeid) ) //如果typeid字段匹配逗号, 就是说typeid调用多个栏目,例如:typeid=“2,3,8”{//指定了getall属性或主页模板例外if($getall==1 || empty($refObj->Fields['typeid'])){$typeids = explode(',', $typeid);foreach($typeids as $ttid) {$typeidss[] = GetSonIds($ttid);}$typeidStr = join(',', $typeidss);$typeidss = explode(',', $typeidStr);$typeidssok = array_unique($typeidss);$typeid = join(',', $typeidssok);}$orwheres[] = " arc.typeid IN ($typeid)"; //导致typeid='2,3,8'情况下不能调用副栏目问题产生的地方}else //如果typeid不匹配逗号,就是调用一个栏目 例如 typeid="2"{

//处理交叉栏目$CrossID = '';if($ctag->GetAtt('cross')=='1'){$arr = $dsql->GetOne("SELECT `id`,`topid`,`cross`,`crossid`,`ispart`,`typename` FROM `dede_arctype` WHERE id='$typeid' ");if( $arr['cross']==0 || ( $arr['cross']==2 && trim($arr['crossid']=='') ) ){$orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')';}else{$selquery = '';if($arr['cross']==1) {$selquery = "SELECT id,topid FROM `dede_arctype` WHERE typename LIKE '{$arr['typename']}' ANDid<>'{$typeid}' AND topid<>'{$typeid}' ";}else {$arr['crossid'] = preg_replace('#[^0-9,]#', '', trim($arr['crossid']));if($arr['crossid']!='') $selquery = "SELECT id,topid FROM `dede_arctype` WHERE id IN('{$arr['crossid']}') AND id<>'{$typeid}' AND topid<>'{$typeid}' ";}if($selquery!=''){$dsql->SetQuery($selquery);$dsql->Execute();while($arr = $dsql->GetArray()){$CrossID .= ($CrossID=='' ? $arr['id'] : ','.$arr['id']);}}}}if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')';else $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')'; //导致typeid='2'情况下不能调用副栏目问题产生的地方}


上一篇:dedecms系统栏目及子栏目调用友情连接方法 下一篇:dedecms用js判断栏目id输出不同结果
织梦cms相关文章阅读
  • 织梦cms实现shtml包含实现方法

    小李网络公司介绍织梦cms实现shtml包含实现方法知识,包括织梦cms建站教程织梦dedecms教程dedecms织梦系统织梦默认模板管理dedecms首页dede织梦仿站织梦cms移动织梦cms后端模板织梦帮助文档....

  • 织梦cms实现列表页缩略图随机调用方法

    小李网络公司介绍织梦cms实现列表页缩略图随机调用方法知识,包括dedecms上传缩略图dede自定义缩略图dedecms调用htmldedecms调用模板dedecms代码调用dedecms调用教程dedecms调用页面dedecms调用样式....

  • 织梦cms文章跳转属性打开后页面空白原因

    小李网络公司介绍织梦cms文章跳转属性打开后页面空白原因知识,包括织梦跳转到我想要的页面dedecms导航栏跳转到页面织梦安装页面空白dedecms文章跳转dede跳转首页dedecms动态页空白dedecms菜单空白...

  • 织梦cms网站首页调用文章评论条数方法

    小李网络公司介绍织梦cms首页调用文章评论条数知识.包括dedecms如何利用标签调用当前文章评论数量的方法,Dedecms首页调用文章页面评论数量_dedecms织梦教程.织梦dedecms首页调用文章评论条数....

  • 织梦cms制作xml格式网站地图做法

    小李网络公司介绍织梦cms制作xml格式网站地图做法知识,包括xml格式是什么xml文件怎么生成xml格式是什么文件织梦dedecms插件xml格式如何转为其他格式怎样打开xml文件格式xml文件基本格式xml报文格...

  • 织梦cms采集图片路径按月存放方法

    小李网络公司介绍织梦cms采集图片路径按月存放方法知识,包括idea设置项目存放路径保存路径什么意思保存路径在哪文件夹路径是什么意思文件保存的路径查询织梦cms织梦 建站微信存放文件的路...

  • 织梦cms5.7调用会员显示登陆状态方法

    小李网络公司介绍织梦cms5.7调用会员显示登陆状态方法知识,包括dede调用会员登陆状态,退出,显示注册和登陆 - 菜鸟头头,织梦常用调用标签状态机uml状态在中断状态下可以运行代码状态图中的调...

  • 织梦cms搜索结果页支持article等标签

    小李网络公司介绍织梦cms搜索结果页支持article标签知识,包括dedesql一天内dedearray嵌套sqldede系统自定义sqldedesql统计数据dedecmssqldede头部sqldedesql判断语句dedesql参数查询dede使用sql语句....

  • 阿里云ECS服务器提示织梦CMS系统漏洞修复方法

    小李seo网络公司介绍阿里云服务器提升织梦cms系统漏洞如何解决的方法知识.包括织梦cms出漏洞了怎么办?简单几招教你轻松解决.织梦cms建站教程系统漏洞有哪些通过系统漏洞进入系统系统漏洞什...

  • 织梦cmsv5.7文章列表隔行换色效果设置方法

    小李网络公司介绍织梦cmsv5.7文章列表隔行换色效果设置方法知识,包括织梦dedecms教程dedecms 源码解析dedecms建站教程dedecms的简单说明一列隔一列不同色dedecms在线演示dedecms调用网站dedecms 织梦....

  • 织梦cms真正的完美调用UCHome所有信息

    小李网络公司介绍织梦cms完美调用UCHome所有信息知识,包括dedecms真正的完美调用UCHome所有信息-坤泰网站模板,织梦常用调用标签织梦调用代码dedecms调用网站dedecms标签怎么用dedecms怎么调用织梦相...

  • 织梦cms网站首页调用公司简介内容

    小李网络公司介绍织梦cms网站首页调用公司简介内容知识,包括织梦常用调用标签dedecms代码调用dedecms调用页面织梦相关文章调用织梦首页调用描述织梦调用代码dedecms调用网站dedecms调用教程....

SEO公司排名
 
QQ在线咨询
SEM竞价推广
137-1296-7640
SEO优化外包
137-1296-7640