主頁 > 網(wǎng)站建設(shè) > 建站知識(shí) > likearticle實(shí)現(xiàn)關(guān)聯(lián)網(wǎng)站的所有文檔的方法

likearticle實(shí)現(xiàn)關(guān)聯(lián)網(wǎng)站的所有文檔的方法

POST TIME:2020-03-28 21:51

為了增加網(wǎng)站的用戶粘度,留住客戶,我們采用各種手法,增加網(wǎng)站的粘度,比如在文檔下方添加“相關(guān)文章”欄目,我們知道織夢CMS可以通過likearticle標(biāo)簽的調(diào)用來實(shí)現(xiàn),但我們發(fā)現(xiàn)在使用likearticle標(biāo)簽在實(shí)現(xiàn)文檔關(guān)聯(lián)時(shí),只能調(diào)用當(dāng)前欄目(包括頂級(jí)欄目下的下級(jí)欄目)的文檔,那么我們?nèi)绾蝸韺?shí)現(xiàn)關(guān)聯(lián)網(wǎng)站的所有文檔呢?

我們知道,從DedeV5.3版本開始,所有的標(biāo)簽源碼都是獨(dú)立的,我們只需要修改標(biāo)簽源碼就可以實(shí)現(xiàn)這個(gè)功能了。

一、實(shí)現(xiàn)方法

打開include agliblikearticle.lib.php文件,找到如下代碼:

if(!emptyempty($refObj->Typelink->TypeInfos['reid'])){

$typeid=$refObj->Typelink->TypeInfos['reid'];

}

將其替換為如下代碼:

if($typeid=='0'){

$typeid='';

}

elseif(!emptyempty($refObj->Typelink->TypeInfos['reid'])){

$typeid=$refObj->Typelink->TypeInfos['reid'];

}

保存后即可。

通過這樣的修改以后,相關(guān)文檔的調(diào)用就會(huì)默認(rèn)索引所有的文檔了。

這里需要給大家糾正一下,在相關(guān)文檔標(biāo)簽里,限制調(diào)用欄目的參數(shù)為 mytypeid 而不是 typeid,希望大家要注意。

二、代碼解釋

我們?cè)黾拥膶?shí)際核心代碼為:

if($typeid == '0'){
$typeid = '';
}

它的意思是,如果typeid傳來的值等于0,那么就將變量$typeid為空。而索引$typeid變量是在下面SQL語句里:

Selectarc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,

tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath

from`dede_archives`arcleftjoin`dede_arctype`tponarc.typeid=tp.id

wherearc.arcrank>-1and($keyword)$typeid$orderquerylimit0,$row

而這里的$typeid變量也是在上一行的 $typeid = " And arc.typeid in($typeid) And arc.id<>$arcid "; 中進(jìn)行賦值。那么我們將這個(gè)$typeid 變量是事先就判斷并賦值為空以后,一切的問題就自燃迎刃而解了。



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266