怎样按照网站的好评或差评数来调用文档

今天在织梦DEDECMS学习研究群里,看到有人请教如何按照站的好评数和差评数来调用网站文档的方法,经过我的搜索和研究,目前尚没有发出织梦模板 的哪个版本的标签(除SQL标签外)可以直接实现的。

但是我们要来实现这个功能,改动的难度也非常的简单,甚至是不需要改动的任何程序文件的。

一、arclist标签实现方法(需改动文件)

1)修改方法

要想在arclist标签里实现这个方法,估计最简单最直接的就是将他的orderby参数加两个取值,也就是我们要的好评数和差评数功能。

 

打开\include\taglib\arclist.lib.php,找到如下代码:

 

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

 

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

 

/*----------------  

 

    @@ 功能:增加按好评数和差评数调用  

 

    @@ 作者:华强℡(QQ 3421209)  

 

    @@ 时间:2010-09-09 00:17:07  

 

---------------*/  

 

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

 

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

 

/*--------  功能增加代码完毕 --------*/   

 

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

 

2)调用方法:

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

 

 <h2>最多差评</h2>

 <ol>

 {dede:arclist row='10' titlelen='12' orderby='goodpost'}

  <li><a href=http://www.dede58.com/"[field:arcurl/]">[field:title/]</a> (好评:[field:goodpost/] 差评:[field:badpost/])</li>

 {/dede:arclist}

 </ol> 

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

 

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

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

 

<h2>最多好评</h2>  

 

<ol>  

 

{dede:sql sql="select * from dede_archives where arcrank > -1 order by goodpost desc limit 0,10"}   

 

    <li><a href=http://www.dede58.com/"/plus/view.php?aid=[field:id/]">[field:title/]</a> (好评:[field:goodpost/] 差评:[field:badpost/])   

 

    </li>  

 

{/dede:sql}   

 

</ol>  

 

1)关于排序

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

 

<h2>最多差评</h2>  

 

<ol>  

 

{dede:sql sql="select * from dede_archives where arcrank > -1 order by badpost desc limit 0,10"}   

 

    <li><a href=http://www.dede58.com/"/plus/view.php?aid=[field:id/]">[field:title/]</a> (好评:[field:goodpost/] 差评:[field:badpost/])</li>  

 

{/dede:sql}   

 

</ol>  

 

2)关于其它条件

如果需要加另外的限制,比如栏目,则自行在arcrank > -1 后面跟上 and typeid = '栏目ID',例如:

 

<h2>最多差评</h2>  

 

<ol>  

 

{dede:sql sql="select * from dede_archives where arcrank > -1 and typeid = '1' order by badpost desc limit 0,10"}   

 

    <li><a href=http://www.dede58.com/"/plus/view.php?aid=[field:id/]">[field:title/]</a> (好评:[field:goodpost/] 差评:[field:badpost/])</li>  

 

{/dede:sql}   

 

</ol>  

 

请将上面的 typeid='1' 中的 1  换成您自己的栏目ID即可。

 

3)关于文档链接地址

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/1aa974865352631166b1cda83baa6793.html