• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    dedecms教程:dede通过关键词调用相关文章内容
    POST TIME:2020-04-04 18:14

    dede本身自带的有一个相关文章的板块“{dede:likeart}”,可以用了之后发现这个板块调用的是全站的文章,而且没有什么关联性,基本美工页面调用的也是一样的文章,百度是很不喜欢这样做的。

    今天上网查了下找到了一个东西,亲自试过之后发现还可以,把他分享给大家。原来从dedecms5.5版开始已经替换了该标签,把模板中 likeart 标签修改为 likearticle 就可以了。

    代码如下:

    参数说明:

    col:分多少列显示(默认为单列)

    row:返回文档列表总数

    titlelen:标题长度 等同于titlelength

    infolen:表示内容简介长度 等同于infolength

    mytypeid:手工指定要限定的栏目id,用,分开表示多个

    innertext:单条记录样式(指标签中间的内容)

    likeartcle标签默认是不支持order by属性的(包括V5.7),在网上找到了修改的方法:

    编辑likearticle.lib.php文件,首先获得标签传递过来的orderby的属性值,

    找到:

    在下面添加:

    在源代码中找到下面代码:

    这是likearticle标签默认的排序方式。赋予标签orderby属性那么这段代码就没意义了,把上面代码替换为:

    
    

    搞定!!!

      1. {dede:likearticlerow=”col=”titlelen=”infolen=”}
      2. <ahref=’[field:arcurl/]‘>[field:title/]</a>
      3. {/dede:likearticle}
      1. extract($ctag->CAttribute->Items,EXTR_SKIP);
      2. $revalue=”;
      1. $orderby=$ctag->GetAtt(‘orderby’);
      1. if(empty($arcid)||$byabs==0){
      2. $orderquery=”orderbyarc.iddesc“;
      3. }
      4. else{
      5. $orderquery=”orderbyABS(arc.id–“.$arcid.”)“;
      6. }
      1. $orderquery=”;
      2. if($orderby==’hot’||$orderby==’click’)$orderquery=”orderbyarc.click$orderWay”;
      3. elseif($orderby==‘sortrank’||$orderby==’pubdate’)$orderquery=”orderbyarc.sortrank$orderWay”;
      4. elseif($orderby==‘id’)$orderquery=”orderbyarc.id$orderWay”;
      5. elseif($orderby==‘near’)$orderquery=”orderbyABS(arc.id–“.$arcid.”)”;
      6. elseif($orderby==‘lastpost’)$orderquery=”orderbyarc.lastpost$orderWay”;
      7. elseif($orderby==‘scores’)$orderquery=”orderbyarc.scores$orderWay”;
      8. elseif($orderby==‘rand’)$orderquery=”orderbyrand()”;
      9. elseif($orderby==‘weight’)$orderquery=”orderbyarc.weightasc”;//如果没有特定设置排序则按照权重先排序
      10. else$orderquery=”orderbyarc.sortrank$orderWay”;
    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!