多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > DedeCMS > Dede實現嵌套獲取欄目及其子欄目列表

Dede實現嵌套獲取欄目及其子欄目列表

來源:程序員人生   發布時間:2014-02-07 10:41:17 閱讀次數:2495次

因為時間倉促可能有些不成熟 這里只是拋磚引玉了
修改 channerl.lib.php
<?php
function lib_channel(&$ctag,&$refObj)
{
global $_sys_globals,$envs,$dsql;
$attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|";
FillAttsDefault($ctag->CAttribute->Items,$attlist);
extract($ctag->CAttribute->Items, EXTR_SKIP);
$innertext = $ctag->GetInnerText();
if(empty($typeid) && $envs['typeid']!=0)
{
$typeid = $envs['typeid'];
$reid = $envs['reid'];
}else{
$reid=0;
}

if($type==''||$type=='sun') $type="son";
if($innertext=='') $innertext = GetSysTemplets("channel_list.htm");

if($reid==0 && $typeid>0)
{
$dbrow = $dsql->GetOne("Select reid From dede_arctype where id='$typeid' ");
if(is_array($dbrow)) $reid = $dbrow['reid'];
}

$likeType = '';
if($type=='top')
{
$sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
From dede_arctype where reid=0 And ishidden<>1 order by sortrank asc limit 0,$row";
}
else if($type=="son")
{
//if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid'];
if($typeid==0) {
return '';
}
$sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
From dede_arctype where reid='$typeid' And ishidden<>1 order by sortrank asc limit 0,$row";
}
else if($type=="self")
{
if($reid==0) {
return '';
}
$sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
From `dede_arctype` where reid='$reid' And ishidden<>1 order by sortrank asc limit 0,$row";
}
//And id<>'$typeid'
$dtp2 = new DedeTagParse();
$dtp2->SetNameSpace("field","[","]");
$dtp2->LoadSource($innertext);
$dsql2 = clone $dsql;
$dsql->SetQuery($sql);
$dsql->Execute();

$line = $row;
$GLOBALS['autoindex'] = 0;
for($i=0;$i < $line;$i++)
{
if($col>1) $likeType .= "<dl>";
for($j=0;$j<$col;$j++)
{
if($col>1) $likeType .= "<dd>";
if($row=$dsql->GetArray())
{
if($type=='self' && $row['id']==$typeid) //處理同級欄目中,當前欄目的樣式
{
if($currentstyle!='')
{
$linkOkstr = $currentstyle;
$row['typelink'] = GetOneTypeUrlA($row);
$linkOkstr = str_replace("~typelink~",$row['typelink'],$linkOkstr);
$linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);
$likeType .= $linkOkstr;
}
}else
{
$row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);
if(is_array($dtp2->CTags))
{
foreach($dtp2->CTags as $tagid=>$ctag){
if(isset($row[$ctag->GetName()]))
{
$dtp2->Assign($tagid,$row[$ctag->GetName()]);
}
elseif ('sonchannel' == $ctag->GetName())
{
$dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql2));
}
}
}
$likeType .= $dtp2->GetResult();
}
}
if($col>1) $likeType .= "</dd>";
$GLOBALS['autoindex']++;
}//Loop Col
if($col>1)
{
$i += $col - 1;
$likeType .= " </dl>";
}
}//Loop for $i

$dsql->FreeResult();
return $likeType;
}
function lib_channel_son($ctag,$typeid = 0,$dsql2)
{
$attlist = "row|100,col|1,currentstyle|";
FillAttsDefault($ctag->CAttribute->Items,$attlist);
extract($ctag->CAttribute->Items, EXTR_SKIP);
$innertext = $ctag->GetInnerText();

$likeType = '';

//if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid'];
if($typeid==0) {
return '';
}
$sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
From dede_arctype where reid='$typeid' And ishidden<>1 order by sortrank asc limit 0,$row";
//And id<>'$typeid'
$dtp2 = new DedeTagParse();
$dtp2->SetNameSpace("field","[","]");
$dtp2->LoadSource($innertext);
$dsql2->SetQuery($sql);
$dsql2->Execute();
$line = $row;

for($i=0;$i < $line;$i++)
{
if($col>1) $likeType .= "<dl>";
for($j=0;$j<$col;$j++)
{
if($col>1) $likeType .= "<dd>";
if($row=$dsql2->GetArray())
{
$row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);
if(is_array($dtp2->CTags))
{
foreach($dtp2->CTags as $tagid=>$ctag){
if(isset($row[$ctag->GetName()]))
{
$dtp2->Assign($tagid,$row[$ctag->GetName()]);
}
elseif ('sonchannel' == $ctag->GetName())
{
$dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql2));
}
}
}
$likeType .= $dtp2->GetResult();
}
if($col>1) $likeType .= "</dd>";
}//Loop Col
if($col>1)
{
$i += $col - 1;
$likeType .= " </dl>";
}
}//Loop for $i
$dsql2->FreeResult();
return $likeType;
}
?>

模板調用

{dede:channel type='son' typeid='14'}
<div><a href="[field:typelink/]">[field:typename/]</a></div>

<ul>
[field:sonchannel]
<li><a href="[field:typelink/]">[field:typename/]</a></li>
[/field:sonchannel]
</ul>
{/dede:channel}

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美日韩国产成人综合在线 | 欧美激情第二页 | 在线亚洲精品 | 蜜中蜜3动漫无修在线播放 免费 黄 色 人成 视频 | 波多野结衣免费在线视频 | 在线观看v片 | 国产激情一区二区三区成人91 | 亚洲欧美天堂综合久久 | 伊人黄| 三级五月天 | 亚洲精品成人a在线观看 | 亚洲第一影视 | 激情视频网 | 日韩欧美久久一区二区 | 第一福利社 | 亚洲日本网站 | 欧美日韩国产成人精品 | 波多野结衣在线播放视频 | 69视频在线是免费观看 | 日本免费xxxx色视频 | 亚洲欧美色中文字幕 | 国产免费一区二区三区在线 | 久久精品免观看国产成人 | 男女xx00xx的视频免费观看 | 中国精品18videosex性中国 | 成人精品一区二区久久 | 亚洲一区 欧美 | 欧美精品久久久久久久久大尺度 | 福利视频一区 | 性色网址| 欧美video粗暴变态 | 国产片在线 | 欧美在线观看视频一区 | 在线美女免费观看网站h | hd欧美xxx欧美极品hd | 成人娱乐网| 亚洲日韩精品欧美一区二区 | 欧美一级片网 | 99久久精品国产综合一区 | 日韩免费高清一级毛片在线 | 亚洲国产精品久久网午夜 |