e球彩为什么不能打多期:dede織夢dede:channel標簽循環指定欄目ID
在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 設置的。
如果你設置了 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!='' )