《dede文章相關(guān)調(diào)用方法總結(jié)》要點:
本文介紹了dede文章相關(guān)調(diào)用方法總結(jié),希望對您有用。如果有疑問,可以聯(lián)系我們。
導(dǎo)讀:很多網(wǎng)友說在使用dedecms5 6時發(fā)現(xiàn)如果在內(nèi)容頁面調(diào)用相關(guān)文章,簡單的使用dedecms arclist不克不及夠?qū)崿F(xiàn).于是就分析了一下,arclist有一個字
很多網(wǎng)友說在使用dedecms5.6時發(fā)現(xiàn)如果在內(nèi)容頁面調(diào)用相關(guān)文章,簡單的使用dedecms arclist不克不及夠?qū)崿F(xiàn).于是就分析了一下,arclist有一個字段keyword,如果把當前文章的keyword調(diào)用出來,就能夠得到當前相關(guān)文章的列表.我的做法是對keyword附一個固定的值?
代碼如下:
- {dede:arclist?keyword='relation'?row='5'}
- <li><a?href="[field:arcurl/]">[field:title/]</a></li>
- {/dede:arclist}
如果是在終端頁面調(diào)用相關(guān)文章,就將keyword的值固定,其他的參數(shù)也都是可以用的,默認的keyword值是當前頁面得關(guān)鍵字可以對比下面相關(guān)文章的關(guān)鍵字和當前頁面得關(guān)鍵字
具體的實現(xiàn)方式是:
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找到函數(shù)MakeOneTag函數(shù)
MakeOneTag(&$dtp, &$refObj, $parfield='Y')
在函數(shù)的最后加上一個參數(shù)
MakeOneTag(&$dtp, &$refObj, $parfield='Y',$reltag)仔細看下有什么區(qū)別吧
在函數(shù)中找到
?
?
代碼如下:
- 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));
- }
呵呵,去生成靜態(tài)吧,不要忘記了 keyword=’relation’ relation 不要變哦,變了可就調(diào)不出來了歡迎參與《dede文章相關(guān)調(diào)用方法總結(jié)》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/10774.html