POST TIME:2020-03-28 21:52
今天在織夢CMS學習研究群里,看到有人請教如何按照網站的好評數和差評數來調用網站文檔的方法,經過我的搜索和研究,目前尚沒有發出織夢模板 的哪個版本的標簽(除SQL標簽外)可以直接實現的。但是我們要來實現這個功能,改動的難度也非常的簡單,甚至是不需要改動的任何程序文件的。
一、arclist標簽實現方法(需改動文件)
1)修改方法
要想在arclist標簽里實現這個方法,估計最簡單最直接的就是將他的orderby參數加兩個取值,也就是我們要的好評數和差評數功能。
打開include aglibrclist.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標簽獲取文檔靜態鏈接地址的方法
上一篇:織夢CMS如何做網站內鏈的優化