如何按照网站的好评或差评数来调用文档

今天在织梦CMS学习研究群里,看到有人请教如何按照网站的好评数和差评数来调用网站文档的方法,经过我的搜索和研究,目前尚没有发出DedeCMS 的哪个版本的标签(除SQL标签外)可以直接实现的。但是我们要来实现这个功能,改动的难度也非常的简单,甚至是不需要改

今天在织梦CMS学习研究群里,看到有人请教如何按照网站的好评数和差评数来调用网站文档的方法,经过我的搜索和研究,目前尚没有发出织梦模板 的哪个版本的标签(除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="[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="/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="/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="/plus/view.php?aid=[field:id/]">[field:title/]</a> (好评:[field:goodpost/] 差评:[field:badpost/])</li>  

 

{/dede:sql}   

 

</ol>  

 

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

 

3)关于文档链接地址

这个SQL标签调用出来的文章链接全部是动态的,只是因为这里主要讲解的是SQL标签的调用,至于怎么获取调用的文档本身的静态链接地址不是重点,因为在前面我们已经对这个进行了详细的分析和讲解,请看本站以前的教程: SQL标签获取文档静态链接地址的方法

效果预览:

 

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

本文实例讲述了Dedecms获取登录用户名与ID号的方法。分享给大家供大家参考。具体方法如下: 获取当前登录用户名 1、include/arc.archives.class.php在第9行下面加入下面这段代码: require_once(../member/config.php); 2、模板文件,就可以用下面的代码,来获
本来这个功能是一个朋友要做的,因为,之前从没有接触过excel,这个功能也没有研究过,但是,这个功能比较实用的,因为,很多公司虽然有网站,但是,公司其它部门可能还要把公司数据导出到纸上面,以便研究公司数据之用,所以,很多的公司对这个功能就要求使
当下一个dedecms做的网站我需要一个功能,就是获取当前栏目的上级栏目名称和链接 ,经过网上查找,已经实现,我把相关代码贴出来,希望能帮助更多的朋友。 Markup {dede:field name=typeid runphp=yes}/*title:获取栏目的上级栏目链接地址*/global $dsql;/*
回想起上一个网站就是这么做的, 点击内容中的图片进入下一页 ,接下来说一下dede 5.7 文章中点击图片切换到下一页方法。 首先找到include/arc.archives.class.php 修改这个文件,修改前请先备份。 一、查找解析模板,对内容里的变动进行赋值在这段话上面添
dedecms的数据库操作类,非常实用,在二次开发中尤其重要,这个数据库操作类说明算是奉献给大家的小礼物了。
关于用织梦cms做的网站,优化这块有个地方必须要注意一下,就是列表页,我们默认生成的每一页,他的标题、关键词、描述都是一样的,但是搜索引擎有个要求,就是尽量保证网站的标题具有唯一性,意思就是说不要存在同样的title的你的网站里面.很明显织梦默认的是不符