【原创】关于ECshop文章列表页的置顶解决方法~
在文章列表里,好多兄弟,想让一些比如网店经营理念或公告的文章置顶。
但作为一个优秀的网店销售平台,EC在文章方面的功能很弱。但这并不影响ECshop的易用和持续发展,普及
ECshop的文章虽是弱项,但咱们可以利用现成的代码稍加修改,以达到我们的需要。。
这里,一个小修改,给大家解决下文章置顶的功能。
EC的后台,文章的选项的地方,有个置顶,但好多都不知道怎么用?
他的置顶,因为代码的调用,是在首页调用的时候置顶的,代码如下:
$sql = 'SELECT a.article_id, a.title, ac.cat_name, a.add_time, a.file_url, a.open_type, ac.cat_id ' .
' 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_type = 1′ .
‘ ORDER BY a.article_type DESC, a.add_time DESC LIMIT ‘ . $GLOBALS['_CFG']['article_number'];
$res = $GLOBALS['db']->getAll($sql);
这里面的 ORDER BY a.article_type DESC
就是首先判断按置顶降序排列. 知道这些,我们打开aticle_cat.php 找到
get_cat_articles($cat_id, $page, $size)
取得分类下的文章列表函数。
在lib_article.php 函数定义的地方,如下:
function get_cat_articles($cat_id, $page = 1, $size = 20)
{
$sql = 'SELECT article_id, title, author, add_time, file_url, open_type' .
' FROM ' .$GLOBALS['ecs']->table(’article’) .
” WHERE is_open = 1 AND cat_id = ‘$cat_id’” .
‘ ORDER BY article_id DESC’;
在ORDER BY 后面,也就是第一个排序依据那里,添加上article_type DESC, 就可以按是否置顶和文档编号排列了。
也就是改成如下。
function get_cat_articles($cat_id, $page = 1, $size = 20)
{
$sql = 'SELECT article_id, title, author, add_time, file_url, open_type' .
' FROM ' .$GLOBALS['ecs']->table(’article’) .
” WHERE is_open = 1 AND cat_id = ‘$cat_id’” .
‘ ORDER BY article_type DESC, article_id DESC’;
好了,写一篇文章,选择文章置顶,打开你的article_cat.php 看看是不是已经置顶了呢?
vilifone原创文章,转贴请注明出自 ECshop…^_^ 偶的blog http://my.xoao.com
原文地址:http://my.xoao.com/top-article-ecshop
转载请注明出处,非常感谢!
11月 28th, 2007 at 10:21 am
这篇很实用,不久可能我也要用到~~~