POST TIME:2017-11-13 00:33
織夢(mèng)DedeCMS的相關(guān)文章是豐富網(wǎng)站內(nèi)容非常強(qiáng)大的功能,它能夠把網(wǎng)站中內(nèi)容相關(guān)的文檔進(jìn)行有效的整合,這點(diǎn)對(duì)用戶(hù)體驗(yàn)和搜索引擎都是非常友好的。不過(guò)織夢(mèng)DedeCMS的相關(guān)文章標(biāo)簽,沒(méi)有像織夢(mèng)DedeCMS的dede:arclist標(biāo)簽一樣強(qiáng)大,可以進(jìn)行排序操作。怎么實(shí)現(xiàn)織夢(mèng)DedeCMS相關(guān)文章的按orderby參數(shù)排序呢?
織夢(mèng)DedeCMS相關(guān)文章中實(shí)現(xiàn)orderby參數(shù)排序
原理上來(lái)說(shuō),只是在SQL語(yǔ)句上進(jìn)行一下排序就可以了,我們完全可以借鑒織夢(mèng)dede:arclist標(biāo)簽的排序功能。以下的代碼目前僅使用了pubdate和click排序,其他的沒(méi)測(cè)試,不知道是否可用。具體的操作步驟是修改\include\taglib\likearticle.lib.php文件。
上述文件就是織夢(mèng)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)簽的定義文件處理。