POST TIME:2020-03-28 21:52
今天在織夢CMS學(xué)習(xí)研究群里,看到有人請(qǐng)教如何按照網(wǎng)站的好評(píng)數(shù)和差評(píng)數(shù)來調(diào)用網(wǎng)站文檔的方法,經(jīng)過我的搜索和研究,目前尚沒有發(fā)出織夢模板 的哪個(gè)版本的標(biāo)簽(除SQL標(biāo)簽外)可以直接實(shí)現(xiàn)的。但是我們要來實(shí)現(xiàn)這個(gè)功能,改動(dòng)的難度也非常的簡單,甚至是不需要改動(dòng)的任何程序文件的。
一、arclist標(biāo)簽實(shí)現(xiàn)方法(需改動(dòng)文件)
1)修改方法
要想在arclist標(biāo)簽里實(shí)現(xiàn)這個(gè)方法,估計(jì)最簡單最直接的就是將他的orderby參數(shù)加兩個(gè)取值,也就是我們要的好評(píng)數(shù)和差評(píng)數(shù)功能。
打開include aglibrclist.lib.php,找到如下代碼:
else if($orderby == 'scores') $ordersql = " order by arc.scores $orderWay";
在它的下一行加入以下代碼:
/*----------------
@@ 功能:增加按好評(píng)數(shù)和差評(píng)數(shù)調(diào)用
@@ 作者:華強(qiáng)℡(QQ 3421209)
@@ 時(shí)間: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";
/*-------- 功能增加代碼完畢 --------*/
修改完畢保存即可實(shí)現(xiàn)我們要的功能。
2)調(diào)用方法:
我們剛才增加的功能對(duì)織夢模板 原來的任意功能均不會(huì)發(fā)生沖突或者影響其本身的操作使用。只是多加了兩個(gè)值,在orderby的參數(shù)里,可以取值為 goodpost(好評(píng)數(shù)排列)和 badpost(差評(píng)數(shù)排序),調(diào)用代碼為:
<h2>最多差評(píng)</h2>
<ol>
{dede:arclist row='10' titlelen='12' orderby='goodpost'}
<li><a href="[field:arcurl/]">[field:title/]</a> (好評(píng):[field:goodpost/] 差評(píng):[field:badpost/])</li>
{/dede:arclist}
</ol>
上面紅色的代碼就是我們說增加的功能了,同理,如果要按照差評(píng)數(shù)調(diào)用,只需要將紅色的goodpost修改為badpost 即可
二、用SQL萬能調(diào)用標(biāo)簽實(shí)現(xiàn)(不需要修改文件)
這一個(gè)更加簡單,但代碼要稍微復(fù)雜一點(diǎn)。專門給會(huì)一些SQL語句的朋友送上的。其調(diào)用代碼為:
<h2>最多好評(píng)</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> (好評(píng):[field:goodpost/] 差評(píng):[field:badpost/])
</li>
{/dede:sql}
</ol>
1)關(guān)于排序
上面這一個(gè)是調(diào)用整站的最多好評(píng)數(shù)(goodpost)的調(diào)用標(biāo)簽,如果想調(diào)用差評(píng)數(shù)最多,只需要修改為badpost 即可,例如:
<h2>最多差評(píng)</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> (好評(píng):[field:goodpost/] 差評(píng):[field:badpost/])</li>
{/dede:sql}
</ol>
2)關(guān)于其它條件
如果需要加另外的限制,比如欄目,則自行在arcrank > -1 后面跟上 and typeid = '欄目ID',例如:
<h2>最多差評(píng)</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> (好評(píng):[field:goodpost/] 差評(píng):[field:badpost/])</li>
{/dede:sql}
</ol>
請(qǐng)將上面的 typeid='1' 中的 1 換成您自己的欄目ID即可。
3)關(guān)于文檔鏈接地址
這個(gè)SQL標(biāo)簽調(diào)用出來的文章鏈接全部是動(dòng)態(tài)的,只是因?yàn)檫@里主要講解的是SQL標(biāo)簽的調(diào)用,至于怎么獲取調(diào)用的文檔本身的靜態(tài)鏈接地址不是重點(diǎn),因?yàn)樵谇懊嫖覀円呀?jīng)對(duì)這個(gè)進(jìn)行了詳細(xì)的分析和講解,請(qǐng)看本站以前的教程: SQL標(biāo)簽獲取文檔靜態(tài)鏈接地址的方法