更多



DeDeCMS获取上级栏目ID及顶级栏目ID 不指定

郝聪 , 2018/01/05 17:24 , 建站优化 , 评论(0) , 阅读(669) , Via 本站原创 | |

获取上级栏目ID

XML/HTML代码
        
  1. {dede:field.reid/}  

获取顶级栏目ID

XML/HTML代码
        
  1. {dede:field.typeid function='GetTopid(@me)'/}  

获取顶级栏目id,名称及链接

XML/HTML代码
        
  1. {dede:field.typeid function="gettoptype(@me,id)"/} //id   
  2.     
  3. {dede:field.typeid function="gettoptype(@me,name)"/} //名称   
  4.     
  5. {dede:field.typeid function="gettoptype(@me,link)"/} //链接   

修改 include/helpers/extend.helper.php,在结尾增加如下代码 :

XML/HTML代码
        
  1. /**  
  2.     
  3. * 获取一个类目的顶级栏目  
  4.     
  5. * @param string $tid 栏目ID  
  6.     
  7. * @return string  
  8.     
  9. */  
  10.     
  11. if ( ! function_exists('gettoptype'))  
  12.     
  13. {  
  14.     
  15. function gettoptype($tid,$action)  
  16.     
  17. {  
  18.     
  19. global $dsql,$cfg_Cs;  
  20.     
  21. if(!is_array($cfg_Cs))  
  22.     
  23. {  
  24.     
  25. require_once(DEDEDATA."/cache/inc_catalog_base.inc");  
  26.     
  27. }  
  28.     
  29. if(!isset($cfg_Cs[$tid][0]) || $cfg_Cs[$tid][0]==0)  
  30.     
  31. {  
  32.     
  33. $topid = $tid;  
  34.     
  35. }  
  36.     
  37. else  
  38.     
  39. {  
  40.     
  41. $topid = GetTopid($cfg_Cs[$tid][0]);  
  42.     
  43. }  
  44.     
  45. $row = $dsql->GetOne("SELECT * FROM `#@__arctype` WHERE id=$topid");  
  46.     
  47. $toptypename = $row['typename'];  
  48.     
  49. $toptypeurl = $topid;  
  50.     
  51. if($action=='id') return $topid;  
  52.     
  53. if($action=='name') return $toptypename;  
  54.     
  55. if($action=='link') return GetOneTypeUrlA($row);  
  56.     
  57. }  
  58.     
  59. }  

发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]