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

但作为一个优秀的网店销售平台,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

如果你是第一次来这儿,欢迎订阅 feedsky RSS feed。 第一时间看到更多精彩内容,谢谢你的访问!
原文地址:http://my.xoao.com/top-article-ecshop
转载请注明出处,非常感谢!
Jet on 11月 22nd, 2007 | File Under WEB技术 | -