天天看點

DEDECMS内容頁或清單頁增加調用相關專題的功能,(專題節點裡也可以調用)

我們在使用DEDECMS制作文章頁或者清單頁模闆時候,都希望在頁面中顯示和内容有關的标題或者專題内容,當然顯示相關文章的标題這個功能是DEDECMS标簽已經自帶了的,今天主要是講如何在DEDECMS文章模闆中調用和内容有關的專題标題,這個我們需要修改DEDECMS相關的PHP檔案來實作。

打開include/extend.func.php,在最後添加:

  1. function getlikespc($keywords=0)  
  2.     {  
  3.         global $cfg_basehost,$dsql;  
  4.         $key = array();  
  5.         $key = explode(",",$keywords);  
  6.         $likesql = '';  
  7.         $len =count($key);  
  8.         for($i=0;$i<$len;$i++){  
  9.             $now = $len-$i;  
  10.             if($now==1){  
  11.                 $likesql .= "keywords like '%".$key[$i]."%' ";  
  12.             }else{  
  13.                 $likesql .= "keywords like '%".$key[$i]."%' or ";  
  14.             }  
  15.         }  
  16.         //關鍵字分割檢索,拼接 查詢語句  
  17.         $getsql = "SELECT * from  dede_archives where dede_archives.channel='-1'and $likesql order by  dede_archives.id limit 0,4 ";  
  18.         //查詢與該文章關鍵字相同的專題  
  19.         //echo $getsql;  
  20.         $toback = '';  
  21.         $dsql->Execute("m",$getsql);  
  22.         while($row = $dsql->GetObject('m'))  
  23.         {  
  24.             $title = $row->shorttitle;  
  25.              //專題短标題   
  26.             $id = $row->id;  
  27.             //專題ID  
  28.             $url=GetOneArchive($id);  //這個函數可以根據傳進來的文檔ID擷取其URL位址  
  29.             $aurl = $url['arcurl'];  
  30.             $toback .= "<a href='".$aurl."' >".$title."</a>";  
  31.         }  
  32.         //print_r($toback);  
  33.         //exit();  
  34.         return $toback;  
  35.         //傳回文章連結  
  36.         } 

然後如果在内容頁調用直接用:

  1. {dede:field.keywords function='getlikespc(@me)'/}   
  1. [field:keywords function='getlikespc(@me)'/]