《dede文章相關調用方法總結》要點:
本文介紹了dede文章相關調用方法總結,希望對您有用。如果有疑問,可以聯系我們。
導讀:很多網友說在使用dedecms5 6時發現如果在內容頁面調用相關文章,簡單的使用dedecms arclist不克不及夠實現.于是就分析了一下,arclist有一個字
很多網友說在使用dedecms5.6時發現如果在內容頁面調用相關文章,簡單的使用dedecms arclist不克不及夠實現.于是就分析了一下,arclist有一個字段keyword,如果把當前文章的keyword調用出來,就能夠得到當前相關文章的列表.我的做法是對keyword附一個固定的值?
代碼如下:
- {dede:arclist?keyword='relation'?row='5'}
- <li><a?href="[field:arcurl/]">[field:title/]</a></li>
- {/dede:arclist}
如果是在終端頁面調用相關文章,就將keyword的值固定,其他的參數也都是可以用的,默認的keyword值是當前頁面得關鍵字可以對比下面相關文章的關鍵字和當前頁面得關鍵字
具體的實現方式是:
1.改動include/arc.archives.class.php找到
MakeOneTag($this->dtp, $this, 'N',$reltag);
將其替換為
?
代碼如下:
- $reltag?=?explode(',',$this->Fields['keywords']);
- $reltag?=?$reltag[0];
- MakeOneTag($this->dtp,?$this,?'N',$reltag);
2.改動include/下的channelunit.func.php找到函數MakeOneTag函數
MakeOneTag(&$dtp, &$refObj, $parfield='Y')
在函數的最后加上一個參數
MakeOneTag(&$dtp, &$refObj, $parfield='Y',$reltag)仔細看下有什么區別吧
在函數中找到
?
?
代碼如下:
- if(in_array($tagname,$alltags))
- {
- $filename?=?DEDEINC.'/taglib/'.$tagname.'.lib.php';
- include_once($filename);
- $funcname?=?'lib_'.$tagname;
- $dtp->Assign($tagid,$funcname($ctag,$refObj));
- }
將其改動為?
代碼如下:
- if(in_array($tagname,$alltags))
- {
- $filename?=?DEDEINC.'/taglib/'.$tagname.'.lib.php';
- include_once($filename);
- $funcname?=?'lib_'.$tagname;
- if($tagname?==?'arclist'){
- foreach($ctag->CAttribute->Items?as?$key?=>?$val){
- if($key?==?'keyword'){
- if($val=='Relation'){
- $ctag->CAttribute->Items[$key]=$reltag;
- }
- }
- }
- }
- $dtp->Assign($tagid,$funcname($ctag,$refObj));
- }
呵呵,去生成靜態吧,不要忘記了 keyword=’relation’ relation 不要變哦,變了可就調不出來了歡迎參與《dede文章相關調用方法總結》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.fzlkiss.com/jiaocheng/10774.html