调取指定分类下文章列表(条数,条件,排序自定义)

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


  1. /**
  2. * 获得文章列表。
  3. * 修改这个函数增加输出条数,分类id,排序方式的参数
  4. * 修改文章附件中有图片上传则显示,没有则不显示
  5. *修改外链若设置为#链接者不做跳转,若不为#做指定外链的跳转
  6. * @accessprivate
  7. * @returnarray
  8. */
  9. function index_get_new_articles($cat_id ,$mun = 5,$where = '',$order_rule = '')
  10. {

  11. if(!empty($cat_id))
  12. {
  13. $where.=" AND a.cat_id = '$cat_id' " ;
  14. }
  15. $order_rule = empty($order_rule) ? 'ORDER BY a.article_type DESC, a.add_time DESC' : $order_rule;//增加了一个排名的筛选条件

  16. $sql = 'SELECT a.article_id, a.title, ac.cat_name, a.add_time, a.file_url,a.description, a.open_type,a.link, ac.cat_id, ac.cat_name ' .
  17. ' FROM ' . $GLOBALS['ecs']->table('article') . ' AS a, ' .
  18. $GLOBALS['ecs']->table('article_cat') . ' AS ac' .
  19. ' WHERE a.is_open = 1 AND a.cat_id = ac.cat_id AND ac.cat_type = 1 '.
  20. $where.
  21. $order_rule.
  22. ' LIMIT ' . $mun;//$GLOBALS['_CFG']['article_number'];
  23. $res = $GLOBALS['db']->getAll($sql);
  24. $arr = array();
  25. foreach ($res AS $idx => $row)
  26. {
  27. $arr[$idx]['id'] = $row['article_id'];
  28. $arr[$idx]['title'] = $row['title'];
  29. $arr[$idx]['short_title'] = $GLOBALS['_CFG']['article_title_length'] > 0 ?
  30. sub_str($row['title'], $GLOBALS['_CFG']['article_title_length']) : $row['title'];

  31. $arr[$idx]['file_url'] = file_exists($row['file_url'])?$row['file_url']:0;//获得文章的相关图片,如果文件不存在或为空输出0
  32. $arr[$idx]['description'] = sub_str($row['description'], 75);//获得文章的相关描述
  33. $arr[$idx]['cat_name'] = $row['cat_name'];
  34. $arr[$idx]['add_time'] = local_date($GLOBALS['_CFG']['date_format'], $row['add_time']);
  35. $arr[$idx]['url']= substr($row['link'],7) =="" ?build_uri('article', array('aid' => $row['article_id']), $row['title']) : trim($row['link']);
  36. $arr[$idx]['cat_url']= build_uri('article_cat', array('acid' => $row['cat_id']), $row['cat_name']);
  37. }

  38. return $arr;
  39. }
复制代码