【原创】关于文章列表页的置顶解决~

2016-07-07 15:19 来源:www.chinab4c.com 作者:ecshop专家

在文章列表里,好多兄弟,想让一些比如网店经营理念或公告的文章置顶。



但作为一个优秀的网店销售平台,EC在文章方面的功能很弱。但这并不影响ECshop的易用和持续发展,普及



ECshop的文章虽是弱项,但咱们可以利用现成的代码稍加修改,以达到我们的需要。。



这里,一个小修改,给大家解决下文章置顶的功能。



EC的后台,文章的选项的地方,有个置顶,但好多都不知道怎么用?



他的置顶,因为代码的调用,是在首页调用的时候置顶的,代码如下:
  1. $sql = 'SELECT a.article_id, a.title, ac.cat_name, a.add_time, a.file_url, a.open_type, ac.cat_id ' .
  2. ' FROM ' . $GLOBALS['ecs']->table('article') . ' AS a, ' .
  3. $GLOBALS['ecs']->table('article_cat') . ' AS ac' .
  4. ' WHERE a.is_open = 1 AND a.cat_id = ac.cat_id AND ac.cat_type = 1' .
  5. ' ORDER BY a.article_type DESC, a.add_time DESC LIMIT ' . $GLOBALS['_CFG']['article_number'];
  6. $res = $GLOBALS['db']->getAll($sql);
复制代码
这里面的 ORDER BY a.article_type DESC



就是首先判断按置顶降序排列. 知道这些,我们打开aticle_cat.php 找到
  1. get_cat_articles($cat_id, $page, $size)
复制代码
取得分类下的文章列表函数。



在lib_article.php 函数定义的地方,如下:
  1. function get_cat_articles($cat_id, $page = 1, $size = 20)
  2. {
  3. $sql = 'SELECT article_id, title, author, add_time, file_url, open_type' .
  4. ' FROM ' .$GLOBALS['ecs']->table('article') .
  5. " WHERE is_open = 1 AND cat_id = '$cat_id'" .
  6. ' ORDER BY article_id DESC';
复制代码
在ORDER BY 后面,也就是第一个排序依据那里,添加上article_type DESC,就可以按是否置顶和文档编号排列了。



也就是改成如下。
  1. function get_cat_articles($cat_id, $page = 1, $size = 20)
  2. {
  3. $sql = 'SELECT article_id, title, author, add_time, file_url, open_type' .
  4. ' FROM ' .$GLOBALS['ecs']->table('article') .
  5. " WHERE is_open = 1 AND cat_id = '$cat_id'" .
  6. ' ORDER BY article_type DESC, article_id DESC';
复制代码
好了,写一篇文章,选择文章置顶,打开你的article_cat.php 看看是不是已经置顶了呢?



vilifone原创文章,转贴请注明出自 ECshop...^_^ 偶的blog http://my.xoao.com

回答:
支持自己研究自己学习。

收藏一下,研究研究

这个不错的!已经改好