剛弄一個專題,添加內容發現內容標題不是按照添加的id排序的,也不是按照id順序排列的。感覺像是隨機的。這樣不是我想要得效果,所以查詢了百度半天,dedecms論壇半天發現沒有解決的方法。所以我就開始研究php文件,我覺得肯定有sql查詢文件。注意orderby 即可。可是文件再哪個地方呢?我找了半天。終于解決。現在將我的方法介紹給大家。
按照 標題的id 降序排列。
這個效果需要修改2 個php文件。
第一步驟:
1. 修改 include aglibchannelspecialtopic.lib.php 文件
2. 在第52行 處 有這行代碼:
$ctag->GetAtt('imgwidth'), $ctag->GetAtt('imgheight'), 'all', 'default', $keywords, $listTemplet, 0, $idlist,
修改成:
$ctag->GetAtt('imgwidth'), $ctag->GetAtt('imgheight'), 'all', 'asc', $keywords, $listTemplet, 0, $idlist,
3. 保存文件結束
第二步驟:
1.修改include aglibarclist.lib.php
2. 大約在196行處。有這行代碼:
//文檔排序的方式
$ordersql = '';
if($orderby=='hot' || $orderby=='click') $ordersql = " order by arc.click $orderWay";
else if($orderby == 'sortrank' || $orderby=='pubdate') $ordersql = " order by arc.sortrank $orderWay";
else if($orderby == 'id') $ordersql = " order by arc.id $orderWay";
else if($orderby == 'near') $ordersql = " order by ABS(arc.id - ".$arcid.")";
else if($orderby == 'lastpost') $ordersql = " order by arc.lastpost $orderWay";
else if($orderby == 'scores') $ordersql = " order by arc.scores $orderWay";
else if($orderby == 'rand') $ordersql = " order by rand()";
/*** 在這下面添加 ***/
else if($orderby == 'asc') $ordersql = " order by arc.id asc";
/*** 添加結束 ***/
else $ordersql = " order by arc.sortrank $orderWay";
3. 修改結束
好了。刷新文件看看吧(注意不是html,是動態頁面。或者重新生成下專題html 看看效果吧)
下一篇 PHP 瀏覽器緩存的各種操作方法