100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 织梦DedeCMS相关文章标签匹配tag 关键词 标题及调用全站相关文章方法

织梦DedeCMS相关文章标签匹配tag 关键词 标题及调用全站相关文章方法

时间:2022-05-01 19:33:46

相关推荐

织梦DedeCMS相关文章标签匹配tag 关键词 标题及调用全站相关文章方法

新版的织梦DedeCMS5.7相关文章标签有两个问题

1 | 相关文章文章调只调用当前栏目的,其他栏目的调用不到

2 | 只能匹配其他文章的标题(title),和关键词(keywords),没有去匹配其他文章tag

修改DedeCMS(5.7)likearticle.lib.php相关文章标签调用全站相关文章

打开likearticle.lib.php(请事先备份),

查找:$query = “

在其上方添加:$typeid = ‘ AND arc.id$arcid ‘; 注意有两处,AND arc.id$arcid这个的意思就是限制调用出来的相关文章不包含本文章,记的DedeCMS7.0以前没有做 这个限制-_-,这样就取消了相关文章匹配栏目的限制了。

织梦DedeCMS相关文章调用tag | 关键词(keywords) | 标题(title)相同的文章

织梦DedeCMS官方的相关文章标签并没有匹配tag相同的文章,他只是获取当前文章的tag和关键词(keywords)去匹配其他文章的标题(title) | 关键词(keywords) 请看dede的源码片断

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 `dede_archives` arc LEFT JOIN `dede_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 `dede_archives` arc LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id

WHERE arc.arcrank>-1 AND $typeid $orderquery limit 0, $row”;

}

注意以上绿色内容就是一部分匹配条件 ,$keyword .= ($keyword==” ? ” CONCAT(arc.keywords,’ ‘,arc.title) LIKE ‘%$k%’ ” : ” OR CONCAT(arc.keywords,’ ‘,arc.title) LIKE ‘%$k%’ “);可以看出DedeCMS只CONCAT了keywords和title,没有做tag的处理 。

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