ECSHOP文章排序该怎么按照先后顺序排序?

2016-07-07 14:55 来源:www.chinab4c.com 作者:ecshop专家

我的网站首页中有一段这样的代码(如下),这个代码是用来调用最新文章的,最新添加的文章是在最上面显示,但是我想把这个顺序倒过来,也就是最新添加的在后面(下面)显示,请问该怎么修改?
/**
* 获得最新的文章列表。
*
* @accessprivate
* @returnarray
*/
function index_get_new_articles3()
{
$sql = 'SELECT a.article_id, a.title, ac.cat_name, a.add_time, a.file_url, a.open_type, ac.cat_id, ac.cat_name ' .
' FROM ' . $GLOBALS['ecs']->table('article') . ' AS a, ' .
$GLOBALS['ecs']->table('article_cat') . ' AS ac' .
' WHERE a.is_open = 1 AND a.cat_id = ac.cat_id AND ac.cat_id=15 AND ac.cat_type = 1' .
' ORDER BY a.article_type DESC, a.add_time DESC LIMIT ' . $GLOBALS['_CFG']['article_number'];
$res = $GLOBALS['db']->getAll($sql);

$arr = array();
foreach ($res AS $idx => $row)
{
$arr[$idx]['id'] = $row['article_id'];
$arr[$idx]['title'] = $row['title'];
$arr[$idx]['short_title'] = $GLOBALS['_CFG']['article_title_length'] > 0 ?
sub_str($row['title'], $GLOBALS['_CFG']['article_title_length']) : $row['title'];
$arr[$idx]['cat_name'] = $row['cat_name'];
$arr[$idx]['add_time'] = local_date($GLOBALS['_CFG']['date_format'], $row['add_time']);
$arr[$idx]['url']= $row['open_type'] != 1 ?
build_uri('article', array('aid' => $row['article_id']), $row['title']) : trim($row['file_url']);
$arr[$idx]['cat_url']= build_uri('article_cat', array('acid' => $row['cat_id']), $row['cat_name']);
}

return $arr;
}

回答:
a.add_time asc

完整彻底的修改方法
  1. ORDER BY a.article_type DESC, a.add_time DESC
复制代码
修改为
  1. ORDER BY a.add_time ASC
复制代码

我修改后还是无法变更排列顺序耶!!!??
请问是修改 index.php 内的程式码吗 ??




如果是这样的调用代码,那该如何修改调用顺序呢?
  1. /**
  2. * 获得指定栏目最新的文章列表。
  3. *
  4. * @access private
  5. * @return array
  6. */
  7. function index_get_class_articles($cat_aid, $cat_num)
  8. {
  9. $sql = "SELECT article_id, title,open_type,cat_id,file_url FROM " .$GLOBALS['ecs']->table('article'). " WHERE cat_id = ".$cat_aid." and is_open = 1 LIMIT " . $cat_num;
  10. $res = $GLOBALS['db']->getAll($sql);
  11. $arr = array();
  12. foreach ($res AS $idx => $row)
  13. {
  14. $arr[$idx]['id'] = $row['article_id'];
  15. $arr[$idx]['title'] = $row['title'];
  16. $arr[$idx]['short_title'] = $GLOBALS['_CFG']['article_title_length'] > 0 ?
  17. sub_str($row['title'], $GLOBALS['_CFG']['article_title_length']) : $row['title'];
  18. $arr[$idx]['cat_name'] = $row['cat_name'];
  19. $arr[$idx]['add_time'] = local_date($GLOBALS['_CFG']['date_format'], $row['add_time']);
  20. $arr[$idx]['url'] = $row['open_type'] != 1 ?
  21. build_uri('article', array('aid' => $row['article_id']), $row['title']) : trim($row['file_url']);
  22. $arr[$idx]['cat_url'] = build_uri('article_cat', array('acid' => $row['cat_id']));
  23. }
  24. return $arr;
  25. }
复制代码

是否应该改“$cat_num”呢?迷茫中~~~~


同求此问题答案

同之前说过的,www.manfen365.com,可以研究下index.php里的东西,代码加到里面

最近我刚刚找到了个解决方法。也是别人发得。你可以去看一下。ECSHOP按照文章发布时间排序、文章按照文章的ID排序都OK。文章有点长。直接给给个URL了。。
http://www.sietoo.com/stnews/ecshop.html

没这么复杂,会sql 的直接改代码就是了, ORDER BY a.add_time DESC,可以看我的新疆干果,www.kekemm.com最下面的文章调用,如果想做seo的话,还可以用random ,

最土 的方法,去数据库里修改发布时间。新发布的文章,把时间往前修改~!~!~!