發表日期:2017-07 文章編輯:小燈 瀏覽次數:1586
織夢在發表文章時,你會發現有一個副欄目的功能.比如一個文章,他可能即屬于你的科技欄目,也屬于互聯網欄目,那你在發表這個文章時,主欄目可以選擇科技,副欄目可以在互聯網上打勾選定.
文章的副欄目保存在數據庫表archives中的typeid2這個字段中.
效果圖.文章屬于商會.及德商文化等.三個欄目.我里在欄目顯示出來.點擊鏈接后,就會進入相關的欄目中.這里是js函數的形式.只作案例演示.
模板標簽代碼為view plaincop
{dede:arclist row='2' titlelen='100'typeid=2 orderby='id' }<span><ahref="javascript:"onclick="javascript:change_tab([field:typeid/]);">[field:typename/]</a><!-- 上面是文章所屬的主欄目,很方便調用. -->[field:typeid2 function="get_url_by_typeid2(@me)"/]<!-- 上面是文章所屬的副欄目,需要單獨寫函數get_url_by_typeid2 --></span>{/dede:arclist} |
函數代碼,需要增加在\include\extend.func.PHP中
//得到副欄目信息,并組織字符串function get_url_by_typeid2($typeid2){$arrs=explode(",",$typeid2);//解析副欄目字段if($typeid2==0){return '';}else{$url='';foreach($arrs as $v){$url.='<a href="javascript:"onclick="javascript:change_tab('.$v.');">'.get_typename($v).'</a>';}return $url;}}//織夢根據欄目編號typeid調用typename欄目名function get_typename($typeid){global $dsql;$rs=$dsql->getOne("select typename from arctype where id='$typeid'");return $rs['typename'];} |
需要修改系統文件./include/taglib/arclist.lib.php
295到296行修改
原代碼view plaincopy
if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')';else $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')'; |
if($CrossID=='')$orwheres[] = " (arc.typeid in (".GetSonIds($typeid).") or arc.typeid2 in (".GetSonIds($typeid).") or CONCAT( ',', arc.typeid2, ',' ) LIKE '%,".$typeid.",%' )";else$orwheres[] = " (arc.typeid in (".GetSonIds($typeid).",".$CrossID.") or arc.typeid2 in (".GetSonIds($typeid).",".$CrossID.") or CONCAT( ',', arc.typeid2, ',' ) LIKE '%,".$typeid.",%')"; |