织梦模板大全为站长朋友们提供精品织梦模板下载和免费织梦建站教程学习。
用户名:
密码:
注册

DedeCMS帮助中心

织梦按好评数和差评数调用文档列表的
本站承接DedeCMS仿站服务,大家如有需要请联系QQ:121673232
本站所有商业模板均提供使用详细安装说明(含视频)
注意:本教程适用于 DedeCMS V5.3,V5.5,V5.6

      今天在论坛狂,偶然看到有人在问,如何按照 网站的好评数和差评数来调用网站文档的方法,我很遗憾的告诉大家,目前DedeCMS 的各个版本的所有标签(除SQL标签外)均没有现成可用的。但是我们要来实现这个功能,改动的难度也非常的简单,甚至是不需要改动的任何程序文件的。
一、arclist标签实现方法(需改动文件)1)修改方法       要 想在arclist标签里实现这个方法,估计最简单最直接的就是将他的orderby参数加两个取值,也就是我们要的好评数和差评数功能。
      打开\include\taglib \arclist.lib.php,找到如下代码:

    • else if($orderby == 'scores') $ordersql = " order by arc.scores $orderWay";

      在它的下一行加入以下代码:

以下为引用的内容:

  1. /*----------------
  2. @@ 功能:增加按好评数和差评数调用
  3. ---------------*/
  4. else if($orderby == 'goodpost') $ordersql = " order by arc.goodpost $orderWay";
  5. else if($orderby == 'badpost') $ordersql = " order by arc.badpost $orderWay";
  6. /*-------- 功能增加代码完毕 --------*/
      

修改完毕保存即可实现我们要的功能。


2)调用方法:

      

我们刚才增加的功能对 Dedecms 原来的任意功能均不会发生冲突或者影响其本身的操作使用。只是多加了两个值,在orderby的参数里,可以取值为 goodpost(好评数排列)和 badpost(差评数排序),调用代码为:


以下为引用的内容:

  1. <h2>最多差评</h2>
  2. <ol>
  3. {dede:arclist row='10' titlelen='12' orderby='goodpost'}
  4. <li><a href="[field:arcurl/]">[field:title/]</a> (好评:[field:goodpost/] 差评:[field:badpost/])</li>
  5. {/dede:arclist}
  6. </ol>
      

上面的代码就是我们说增加的功能了,同理,如果要按照差评数调用,只需要将红色的goodpost修改为badpost 即可


二、用SQL万能调用标签实现(不需要修改文件)

      

这一个更加简单,但代码要稍微复杂一点。专门给会一些SQL语句的朋友送上的。其调用代码为:


以下为引用的内容:

  1. <h2>最多好评</h2>
  2. <ol>
  3. {dede:sql sql="select * from dede_archives where arcrank > -1 order by goodpost desc limit 0,10"}
  4. <li><a href="/plus/view.php?aid=[field:id/]">[field:title/]</a> (好评:[field:goodpost/] 差评:[field:badpost/])
  5. </li>
  6. {/dede:sql}
  7. </ol>

1)关于排序

      

上面这一个是调用整站的最多好评数(goodpost)的调用标签,如果想调用差评数最多,只需要修改为badpost 即可,例如:


以下为引用的内容:

  1. <h2>最多差评</h2>
  2. <ol>
  3. {dede:sql sql="select * from dede_archives where arcrank > -1 order by badpost desc limit 0,10"}
  4. <li><a href="/plus/view.php?aid=[field:id/]">[field:title/]</a> (好评:[field:goodpost/] 差评:[field:badpost/])</li>
  • {/dede:sql}
  • </ol>