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