天天看點

DedeCMS讓{dede:list}标簽支援weight權重排序

1、找到"根目錄\include\arc.listview.class.php"檔案。

2、修改代碼:在檔案第727行處添加按weight排序判斷代碼(紅色部分為新添加代碼)。

 //排序方式

$ordersql = '';

        if($orderby=="senddate" || $orderby=="id") {

            $ordersql=" ORDER BY arc.id $orderWay";

        }

        else if($orderby=="hot" || $orderby=="click") {

            $ordersql = " ORDER BY arc.click $orderWay";

        }

        else if($orderby=="lastpost") {

            $ordersql = "  ORDER BY arc.lastpost $orderWay";

        }

       else if($orderby=="weight") {

            $ordersql = "  ORDER BY arc.weight $orderWay";

        }

        else {

            $ordersql=" ORDER BY arc.sortrank $orderWay";

        }

3、再在第778行處找到此段代碼

  //如果不用預設的sortrank或id排序,使用聯合查詢(資料量大時非常緩慢)

     if(preg_match('/hot|click|lastpost|weight/', $orderby))

  并添加紅色部分内容。

4、标簽調用:

  {dede:list orderby='weight' orderway='asc'}

  這樣{dede:list}标簽就支援了按權重排序的調用,并且動靜态狀态下測試均成功!

http://www.dedediy.com/ 文章不錯。

繼續閱讀