600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 织梦DedeCMS5.7全站按TAG和关键字调用相关文章方法

织梦DedeCMS5.7全站按TAG和关键字调用相关文章方法

时间:2019-05-01 14:13:37

相关推荐

织梦DedeCMS5.7全站按TAG和关键字调用相关文章方法

织梦DedeCms5.7全站按TAG和关键字调用相关文章方法,可单用tag来调用相关文章,也可用tag+keyword来调用相关文章(默认tag优先于keyword,可以自己排序),非常适合SEO,经测试效果极佳。

1.把下边代码保存到文章模版的适当位置

Copy to Codes引用的内容:[]

相关文章 {dede:likearticle col=2 row=10 titlelen=42 eregtype=all|tag|keyword} [field:title/] {/dede:likearticle}

2.把下边的php代码替换掉include/taglib/likearticle.lib里的代码

Copy to Clipboard引用的内容:[]

<?php

if(!defined(‘DEDEINC’)) exit(‘Request Error!’);

/*————————————–

按关键词关连文章的标签

eregtype属性

eregtype = keyword 只匹配关键字

eregtype = tag 只匹配tag

eregtype = all tag优先,不存在tag则匹配关键字

mytypeid=” 栏目ID,多个栏目用,隔开

—————————————*/

function lib_likearticle(&$ctag,&$refObj)

{

global $dsql;

//属性处理 $attlist="row|12,titlelen|28,infolen|150,col|1,tablewidth|100,mytypeid|0,byabs|0,imgwidth|120,imgheight|90"; FillAttsDefault($ctag->CAttribute->Items,$attlist); extract($ctag->CAttribute->Items, EXTR_SKIP); $revalue = \; if(empty($tablewidth)) $tablewidth = 100; if(empty($col)) $col = 1; $colWidth = ceil(100/$col); $tablewidth = $tablewidth."%"; $colWidth = $colWidth."%"; $ids = array(); $tids = array(); $typeid = ( !empty($mytypeid) ? $mytypeid : 0 ); if(empty($typeid)) { if(!empty($refObj->Typelink->TypeInfos[ eid])) { $typeid = $refObj->Typelink->TypeInfos[ eid]; } else { if(!empty($refObj->Fields[ ypeid])) $typeid = $refObj->Fields[ ypeid]; } } if( !empty($typeid) && !ereg(,, $typeid) ) { $typeid = GetSonIds($typeid); } if(!empty($refObj->Fields[ ags]) && $eregtype != keyword ) { $tags = explode(,, addslashes($refObj->Fields[ ags])); $getsql = " tag like \".join(" OR tag like \", $tags)." "; $dsql->Execute(me, "Select * From veryhuo_tagindex where $getsql "); while($arow = $dsql->GetArray(me)) { $tids[] = $arow[id]; } $tid = join(,, $tids); if($tid!=\) { $dsql->Execute("me", "Select aid From veryhuo_taglist where tid in($tid) And arcrank > -1 group by aid order by aid desc limit 0, $row"); while($arow = $dsql->GetArray("me")) { $ids[] = $arow[aid]; $arcid = $refObj->Fields[aid]; } } } if($eregtype == ag && count($ids) == 0 ) { return \; } else { if(count($ids) > 0) { if(!empty($typeid)) { // $typeid = " And arc.typeid in($typeid) And arc.id$arcid "; 调用整站相关文章 $typeid = "And arc.id$arcid"; } $idsStr = join(,, $ids); $query = "Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule, tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath from veryhuo_archives arc left join veryhuo_arctype tp on arc.typeid=tp.id where arc.id in($idsStr) $typeid order by arc.id desc"; } else { $limitRow = $row - count($ids); $keyword = \; if(!empty($refObj->Fields[keywords])) { $keywords = explode(, , trim($refObj->Fields[keywords])); $keyword = \; $n = 1; foreach($keywords as $k) { if($n > 3) break; if(trim($k)==\) continue; else $k = addslashes($k); $keyword .= ($keyword==\ ? " CONCAT(arc.keywords, ,arc.title) like \%$k% " : " OR CONCAT(arc.keywords, ,arc.title) like \%$k% "); $n++; } } $arcid = (!empty($refObj->Fields[id]) ? $refObj->Fields[aid] : 0); if( empty($arcid) || $byabs==0 ) { $orderquery = " order by arc.id desc "; } else { $orderquery = " order by ABS(arc.id - ".$arcid.") "; } if($keyword != \) { if(!empty($typeid)) { $typeid = " And arc.typeid in($typeid) And arc.id$arcid "; } $query = "Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule, tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath from veryhuo_archives arc left join veryhuo_arctype tp on arc.typeid=tp.id where arc.arcrank>-1 and ($keyword) $typeid $orderquery limit 0, $row"; } else { if(!empty($typeid)) { $typeid = " arc.typeid in($typeid) And arc.id$arcid "; } $query = "Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule, tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath from veryhuo_archives arc left join veryhuo_arctype tp on arc.typeid=tp.id where arc.arcrank>-1 and $typeid $orderquery limit 0, $row"; } } } $innertext = trim( $ctag->GetInnerText() ); if($innertext==\) $innertext = GetSysTemplets(part_arclist.htm); $dsql->SetQuery($query); $dsql->Execute(al); $artlist = \; if($col > 1) { $artlist = "

\r\n"; $dsql->FreeResult("al"); return $artlist; } ?>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。