為企業提供網站平臺解決方案

178 7892 1916

QQ客服:點擊這里給我發消息 點擊這里給我發消息

最新動態:

DeDeCMS教程

你的位置:e球彩ef进球数 > 建站知識 > DeDeCMS教程 > dede織夢dede:channel標簽循環指定欄目ID

体彩e球彩中奖查询:dede織夢dede:channel標簽循環指定欄目ID

發布時間:2013-12-09 15:41作者:e球彩ef进球数網址:e球彩ef进球数瀏覽:次
在dede默認的標簽中,chanel,是想循環頂級欄目的,加了type=top typeid=1,2,3,4 這樣。然后還是循環的頂級欄目的所有欄目,而不是id等于1,2,3,4的。 如果你設置了 type=top ,那么 channel 標簽會忽略 typeid 設置的。 如果你要獲取 type=top 并且 typeid=1,2,3,4 的話,那么你只能修改 channel 標簽的
在dede默認的標簽中,chanel,是想循環頂級欄目的,加了type='top' typeid='1,2,3,4' 這樣。然后還是循環的頂級欄目的所有欄目,而不是id等于1,2,3,4的。
如果你設置了 type='top' ,那么 channel 標簽會忽略 typeid 設置的。
 e球彩ef进球数 www.umomig.com.cn 
如果你要獲取 type='top' 并且 typeid='1,2,3,4' 的話,那么你只能修改 channel 標簽的實現,或者自己寫一個。

下面是我提供給你的改法,你可以參考下。
修改后, type='top' 并且 typeid='1,2,3:top'  提供 :top 是為了兼容之前的標簽。

    else
    {
    	if(preg_match('/((?:\d+,?)+):top$/', $typeid, $matche))
    	{
    		$typeid = $matche[1];
    		$reid = 0;
    		$topid = 0;
    	}
    	else
    	{
	        $row2 = $dsql->GetOne("SELECT * FROM `ant2_arctype` WHERE id='$typeid' ");
	        $typeid = $row2['id'];
	        $reid = $row2['reid'];
	        $topid = $row2['topid'];
    	}
        $issetInfos = true;
    }
    
    if($type=='' || $type=='sun') $type='son';
    if($innertext=='') $innertext = GetSysTemplets("channel_list.htm");

    if($type=='top')
    {
    	if(strpos($typeid, ',') === false)
    	{
    		$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
          		From `ant2_arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line ";
    	}
    	else
    	{
    		$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
          		From `ant2_arctype` WHERE id in ($typeid) And ishidden<>1 order by sortrank asc limit 0, $line ";
    	}
    }
還有一個問題,為什么加上這個之后channal標簽的currentstyle就不管用了呢?麻煩你了,大師。小弟萬分感謝。
 
//處理同級欄目中,當前欄目的樣式
看到下面這行代碼
if( ($row['id']==$typeid || ($topid==$row['id'] && $type=='top') ) && $currentstyle!='' )
改為
if( (preg_match("/\b{$row['id']}\b/", $typeid) || ($topid==$row['id'] && $type=='top') ) && $currentstyle!='' )