POST TIME:2017-11-13 00:33
織夢DedeCMS的相關(guān)文章是豐富網(wǎng)站內(nèi)容非常強(qiáng)大的功能,它能夠把網(wǎng)站中內(nèi)容相關(guān)的文檔進(jìn)行有效的整合,這點(diǎn)對用戶體驗(yàn)和搜索引擎都是非常友好的。不過織夢DedeCMS的相關(guān)文章標(biāo)簽,沒有像織夢DedeCMS的dede:arclist標(biāo)簽一樣強(qiáng)大,可以進(jìn)行排序操作。怎么實(shí)現(xiàn)織夢DedeCMS相關(guān)文章的按orderby參數(shù)排序呢?
織夢DedeCMS相關(guān)文章中實(shí)現(xiàn)orderby參數(shù)排序
原理上來說,只是在SQL語句上進(jìn)行一下排序就可以了,我們完全可以借鑒織夢dede:arclist標(biāo)簽的排序功能。以下的代碼目前僅使用了pubdate和click排序,其他的沒測試,不知道是否可用。具體的操作步驟是修改\include\taglib\likearticle.lib.php文件。
上述文件就是織夢DedeCMS相關(guān)文章標(biāo)簽的定義文件,進(jìn)行操作之前,建議先備份該文件。找到如下的這段代碼,并把它刪除:
1
2
3
4
5
6
7
|
if ( empty ( $arcid ) || $byabs ==0 ) {
$orderquery = " ORDER BY arc.id desc " ; } else {
$orderquery = " ORDER BY ABS(arc.id - " . $arcid . ") " ; } |
然后找到約第13行處的如下代碼:
1
|
$revalue = '' ; |
在上面的代碼下面添加如下代碼:
1
2
3
4
|
if ( $orderby == 'hot' || $orderby == 'click' ) $orderquery = " order by arc.click desc" ; else if ( $orderby == 'sortrank' || $orderby == 'pubdate' ) $orderquery = " order by arc.sortrank desc" ; else if ( $orderby == 'id' ) $orderquery = " order by arc.id desc" ; else if ( $orderby == 'rand' ) $orderquery = " order by rand()" ; |
以上代碼主要是添加排序的參數(shù),這里注意末尾的desc你可以自己改成asc這兩個(gè)是降序和升序排列,如果你想用orderWay做參數(shù),那就自己加代碼吧。如果想要更多的排序功能,可以參考dede:arclist標(biāo)簽的定義文件處理。