織夢在發(fā)表文章時,你會發(fā)現(xiàn)有一個副欄目的功能.比如一個文章,他可能即屬于你的科技欄目,也屬于互聯(lián)網(wǎng)欄目,那你在發(fā)表這個文章時,主欄目可以選擇科技,副欄目可以在互聯(lián)網(wǎng)上打勾選定.
文章的副欄目保存在數(shù)據(jù)庫表archives中的typeid2這個字段中.
效果圖.文章屬于商會.及德商文化等.三個欄目.我里在欄目顯示出來.點擊鏈接后,就會進入相關的欄目中.這里是js函數(shù)的形式.只作案例演示.
模板標簽代碼為
-
{dede:arclistrow='2'titlelen='100'typeid=2orderby='id'}
-
<span>
-
<ahref="javascript:"onclick="javascript:change_tab([field:typeid/]);">[field:typename/]</a>
-
<!--上面是文章所屬的主欄目,很方便調用.-->
-
[field:typeid2function="get_url_by_typeid2(@me)"/]
-
<!--上面是文章所屬的副欄目,需要單獨寫函數(shù)get_url_by_typeid2-->
-
</span>
-
{/dede:arclist}
函數(shù)代碼,需要增加在\include\extend.func.PHP中
-
//得到副欄目信息,并組織字符串
-
functionget_url_by_typeid2($typeid2){
-
$arrs=explode(",",$typeid2);//解析副欄目字段
-
if($typeid2==0){
-
return'';
-
}else{
-
$url='';
-
foreach($arrsas$v){
-
$url.='<ahref="javascript:"
-
onclick="javascript:change_tab('.$v.');">'.get_typename($v).'</a>';
-
}
-
return$url;
-
}
-
}
-
//織夢根據(jù)欄目編號typeid調用typename欄目名
-
functionget_typename($typeid){
-
global$dsql;
-
$rs=$dsql->getOne("selecttypenamefromdede_arctypewhereid='$typeid'");
-
return$rs['typename'];
-
}
另外特別注意,織夢標簽artlist不能調用副欄目中的文章內(nèi)容的問題,即文章屬于互聯(lián)網(wǎng)這個副欄目,但互聯(lián)網(wǎng)欄目中卻不顯示這個文章.
需要修改系統(tǒng)文件./include/taglib/arclist.lib.php
295到296行修改
原代碼
-
if($CrossID=='')$orwheres[]='arc.typeidIN('.GetSonIds($typeid).')';
-
else$orwheres[]='arc.typeidIN('.GetSonIds($typeid).','.$CrossID.')';
修改為
-
if($CrossID=='')
-
$orwheres[]="(arc.typeidin(".GetSonIds($typeid).")orarc.typeid2in(".GetSonIds($typeid).")orCONCAT(',',arc.typeid2,',')LIKE'%,".$typeid.",%')";
-
else
-
$orwheres[]="(arc.typeidin(".GetSonIds($typeid).",".$CrossID.")orarc.typeid2in(".GetSonId