小李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新建欄目ID不從1開始解決方法

    小李網絡公司介紹織夢cms新建欄目ID不從1開始解決方法知識,包括織夢DedeCMS刪除所有欄目或文章后,新建ID不從1開始的解決方法.DEDECMS織夢清空欄目后,新建ID不從1開始的解決方法_織夢無憂....

  • 織夢cms虛擬主機空間商禁用fsockopen函數解決方法

    小李網絡公司介紹織夢cms虛擬主機空間商禁用fsockopen函數解決方法知識,包括虛擬主機空間租用香港虛擬主機空間免備案虛擬主機空間虛擬主機空間500m虛擬主機空間申請虛擬主機空間商虛擬主機...

  • 織夢cms會員中心常用信息輸出

    小李網絡公司介紹織夢cms會員中心常用信息輸出知識,包括織夢dedecms會員中心常用信息輸出_元素網站模板,漂亮實用DedeCMS最新織夢會員中心模板-dedecms模板-跟版網....

  • 織夢cms統計欄目文章總數sql調用方法

    小李網絡公司介紹織夢cms統計欄目文章總數調用方法知識.包括織夢dedeCMS統計欄目文章(軟件)總數- dedeCMS教程,DedeCMS 統計欄目的文章總數的調用方法_最火軟件站.dedecms欄目頁標簽 dedecms欄目代碼...

  • 織夢cms按分類調用友情鏈接方法

    小李網絡公司介紹織夢cms按分類調用友情鏈接方法知識,包括織夢常用調用標簽dedecms調用頁面織夢相關文章調用dedecms代碼調用織夢調用代碼織夢首頁調用描述dedecms調用網站dedecms調用教程....

  • 織夢cms網站channel頻道調用標簽使用方法

    小李網絡公司介紹織夢cms網站channel頻道調用標簽知識,包括模板標簽參考,全局標簽,channel|頻道標簽.織夢標簽教程dedecms調用htmldedecms三大標簽dedecms調用模板dedecms代碼調用dedecms調用教程dedecms調用...

  • 織夢cms網站Linux系統下安全設置教程

    小李網絡公司介紹織夢cms網站Linux系統下安全設置知識,包括Linux下DedeCMS詳細安全設置教程_織夢58,織夢仿站教程傻瓜式織夢cms建站教程織夢教程網織夢網的編織方法安全設置怎么關閉織夢 建站織...

  • 織夢cms5.7自動生成RSS和網站地圖教程

    小李網絡公司介紹織夢cms5.7自動生成RSS和網站地圖教程知識,包括dede網站地圖版權dede更新網站地圖dede網站地圖dede的xml地圖dede網站地圖美化dede地圖模塊dede地圖模板位置dede網站地圖foot....

  • 織夢cms管理系統5.1升級到5.5版本教程

    小李網絡公司介紹織夢cms管理系統5.1升級到5.5版本教程知識,包括個人經驗分享優秀經驗分享手機如何升級到最新版本個人安全經驗分享工作經驗分享員工經驗分享怎么升級到安卓10怎么升級到最...

  • 織夢cms在列表中調用單條數據文章body內容

    小李網絡公司介紹織夢cms在列表中調用單條數據文章body內容知識,包括dedecms四級菜單織夢源碼欄目菜單怎么改dedecms主菜單織夢二級菜單dedecms菜單空白dedecms欄目菜單....

  • 織夢cms評論內容自動復制到剪切板調用方法

    小李網絡公司介紹織夢cms評論內容自動復制到剪切板知識.包括復制屏幕到剪貼板如何復制到剪貼板為什么復制不到剪切板復制到剪切板在哪里找cad為什么不能復制到剪切板文字無法復制到剪貼...

  • 織夢cms自動給已經發布過文章中關鍵詞加超鏈

    小李網絡公司介紹織夢cms自動給已經發布過文章中關鍵詞加超鏈知識,包括dedecms頻道關鍵詞dedecms文章日期dedecms文章代碼dedecms生成文章dedecms文章頁面dedecms文章描述dedecms文章順序dedecms當天文章...

SEO公司排名
在线视频国产网站你懂得},97se亚洲国产综合自在线观看,婷婷五月色综合香五月a,欧洲自拍视频另类中文字幕
?
QQ在線咨詢
SEM競價推廣
137-1296-7640
SEO優化外包
137-1296-7640