POST TIME:2017-12-02 21:52
在DEDECMS里獲取頂級欄目很簡單,一句 {dede:channel}{/dede:channel} 即可搞定。但有時(shí)我們需要在任意頁面獲取任意頂級欄目下的二級和三級欄目列表的鏈接, {dede:channel} 就無能為力了。
注意,我說的是在“任意”(首頁、封面、列表、文章等)頁面調(diào)用“任意”二或三級欄目列表。
一、在任意頁面獲取某頂級欄目下的二級欄目列表
例如,我們要在首頁或其他頁面插入 產(chǎn)品展示 這個(gè)頂級欄目的下級欄目列表,
1、在 /include/inc_functions.php 最后的 ?> 前加入以下代碼:
//在任意頁面獲取某頂級欄目下的二級欄目列表 用于channel標(biāo)記 $typeid為頂級欄目ID
function getProductClass($typeid)
{
$linkList = "";
$dsql = new DedeSql(false);
$dsql->SetQuery("select typedir,typename from dede_arctype where reID = ‘$typeid’ order by sortrank");
$dsql->Execute();
while($row=$dsql->GetObject())
{
$typelink = GetTypeUrl($row->ID,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2);
$linkList .= "<li>·<a href="$typelink">".$row->typename."</a></li>n ";
}
$dsql->Close();
return $linkList;
}
2、在模板里用
{dede:channel function=’getProductClass(2)’}{/dede:channel}
調(diào)用即可。這里getProductClass(2)中的 2 是產(chǎn)品展示的欄目ID。如果你的是其他的,請作相應(yīng)修改。