[织梦CMS]利用keyword=实现相关文档的关联技巧

deegao  于 2017-8-8 14:13:47 回帖奖励 |阅读模式
3 5330
大家好,我是德利网络的hero.chang,今天跟大家沟通利用小技巧实现织梦系统的文章关联。
场景:装修公司,基础栏目:家装案例、设计团队,要求:设计团队里的张三打开后,推荐张三的相关案例!
我们知道这种类型的关联,织梦如果不进行二次开发是很难实现的,那么对于小白和小菜们来说二开无异于让他们从头学起,基本不太现实,那么这种功能就没有办法实现了吗?今天呢就简单通过修改一个配置文件,来迂回实现这种效果
我们都知道织梦默认的标签有一个是这么写的
  1. {dede:arclist keyword='关键词'}
  2. 循环内容
  3. {/dede:arclist}
复制代码
看到这里,大家可能有点思路了。就是如果家装案例的关键词里有AAA,那调用出来的都是关键词带AAA的案例,那么如果在设计师的页面能和当前设计师有一定的关联是否也可以解决这个问题呢?我们知道设计师在添加的时候也有关键词可写,比如张三的关键词我们也写AAA,那么按道理,我们调用应该这样写。
  1. {dede:arclist keyword='{dede:field.keyword/}'}
  2. 循环内容
  3. {/dede:arclist}
复制代码
因为{dede:field.keyword/}可以调用当前设计师页面的关键词,如果调用出来是AAA那么显示的就是AAA的案例了。可是事与愿违,大括号里是不能再写大括号的。那么如何让keyword调用出动态的信息呢?我做了一些小的修改。
修改include>taglib下面的arclist.lib.php文件。把
  1.         //关键字条件
  2.         if($keyword!='')
  3.         {
  4.             $keyword = str_replace(',', '|', $keyword);
  5.             $orwheres[] = " CONCAT(arc.title,arc.keywords) REGEXP '$keyword' ";
  6.         }
复制代码
修改为
  1. //关键字条件
  2. if($keyword!='')
  3. {
  4. $rowGetKeyword = $dsql->GetOne("select keywords From `dede_archives` where id='$arcid'");
  5. $keyword=$rowGetKeyword['keywords'];
  6. $keyword = str_replace(',', '|', $keyword);
  7. $orwheres[] = " CONCAT(arc.title,arc.keywords) REGEXP '$keyword' ";
  8. }
复制代码
这样直接调用{dede:arclist keyword='这里随便写只要是不为空就可以'} 这样这里的keyword就是动态获取的了。不然只能是固定的。


那么通过这样简单的处理就实现了这样所谓的关联性,在一些网站的制作中也会经常用到,目前是我随手把关键字进行的调整,我们同样也能新建表单来进行操作,可能会更方便一点,不过这样做有一点就是arclist调用篇幅有限,比如row=8就是调用8篇,很多朋友会问到如何要有链接显示张三更多的案例带分页呢,这个建议配合前面帖子,关于联动标签的文档来操作。是完全可以实现的。


感谢大家对德利网络的支持,我是hero.chang,后续我会对该功能重新整理,以期待找到更好,更人性化的解决方案。
| 0 人收藏
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
回复

使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    1

    主题

    2

    帖子

    2

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    2
    发表于 2017-8-13 16:43:05 | 只看该作者
    沙发
    其实不需要那么麻烦,用dede:likearticle就行了呀????
    回复 支持 反对

    使用道具 举报

    67

    主题

    79

    帖子

    93

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    93
    QQ
     楼主| 发表于 2018-1-24 14:34:20 | 只看该作者
    板凳
    dede:likearticle是可行的,要注意设置mytypeid栏目的归属值,最好带上eregtype=keyword|tag  之类的
    回复 支持 反对

    使用道具 举报

    67

    主题

    79

    帖子

    93

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    93
    QQ
     楼主| 发表于 2018-1-24 14:34:23 | 只看该作者
    地板
    dede:likearticle是可行的,要注意设置mytypeid栏目的归属值,最好带上eregtype=keyword|tag  之类的
    回复 支持 反对

    使用道具 举报

    • 售后服务
    • 关注我们
    • 社区新手

    QQ|Archiver|手机版|小黑屋|德高网络.  

    Powered by Discuz! X3.2  © 2001-2018 Comsenz Inc.