魔扣论坛

魔扣源码论坛业务
查看: 455|回复: 1

[织梦教程] 织梦相关文章标签匹配tag、关键词、标题及调用全站相关文章方法

[复制链接]
  • TA的每日心情
    无聊
    22 分钟前
  • 签到天数: 2952 天

    [LV.Master]开坛老将

    7万

    主题

    227

    回帖

    27万

    积分

    管理员

    Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

    魔扣币
    745613
    贡献
    157873
    威望
    32799

    最佳新人活跃会员热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2020-3-23 22:40:02 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    新版的织梦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的处理  。

    会员购买:>> 点击购买 << | 魔扣币购买:>> 点击购买 <<
    承接业务:服务器代维丨网站托管丨SEO
    联系客服:微信:morko-net | QQ:1367681973

    该用户从未签到

    3

    主题

    279

    回帖

    561

    积分

    高级魔扣

    Rank: 4

    魔扣币
    279
    贡献
    279
    威望
    0
    发表于 2020-3-23 23:04:49 | 显示全部楼层
    不知不觉,是这世上最可怕的力量。',
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表