POST TIME:2020-03-28 21:51
為了增加網站的用戶粘度,留住客戶,我們采用各種手法,增加網站的粘度,比如在文檔下方添加“相關文章”欄目,我們知道織夢CMS可以通過likearticle標簽的調用來實現,但我們發現在使用likearticle標簽在實現文檔關聯時,只能調用當前欄目(包括頂級欄目下的下級欄目)的文檔,那么我們如何來實現關聯網站的所有文檔呢?
我們知道,從DedeV5.3版本開始,所有的標簽源碼都是獨立的,我們只需要修改標簽源碼就可以實現這個功能了。
打開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'];
}
保存后即可。
通過這樣的修改以后,相關文檔的調用就會默認索引所有的文檔了。
這里需要給大家糾正一下,在相關文檔標簽里,限制調用欄目的參數為 mytypeid 而不是 typeid,希望大家要注意。
我們增加的實際核心代碼為:
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 "; 中進行賦值。那么我們將這個$typeid 變量是事先就判斷并賦值為空以后,一切的問題就自燃迎刃而解了。
下一篇:下拉菜單式的友情鏈接