ecshop修改文章标题加红
2009-06-27 10:46 来源:www.chinab4c.com 作者:ecshop专家
看了看一个07年一直问到现在的帖子,昨天又有电子商务开发朋友发信息给我,和我探讨如何ecshop修改文章标题,让其显现出红色。自己仔细想了想,这个功能确实是有点用处,也不是一点都没用。
1:如何让置顶的文章显红色
首先,在首页咨讯类当中。你可以看到
function index_get_new_articles()
{
$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);
$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']));
}
return $arr;
}
分析ecs_article你可以发现,article_type就是用来控制置顶的。如果为1,就表示该文章置顶。那么,你可以修改函数成为这样。
function index_get_new_articles()
{
$sql = 'SELECT a.article_type, 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);
$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'];
if($row['article_type'] == 1) { $arr[$idx]['short_title'] = "<font color=red>". $arr[$idx]['short_title'] ."</font>";} //置顶的文章显示红色
$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']));
}
return $arr;
}
2:ecshop修改文章列表中的将标题为红色的处理方式,主要是置顶文章显示红色
打开article_cat.php,你会发现,这里有个函数 get_cat_articles,他就是用来显示该类别下所有文章的。该函数在includes/lib_article.php中
function get_cat_articles($cat_id, $page = 1, $size = 20 ,$requirement)
{
//取出所有非0的文章
if ($cat_id == '-1')
{
$cat_str = 'cat_id > 0';
}
else
{
$cat_str = get_article_children($cat_id);
}
//增加搜索条件,如果有搜索内容就进行搜索
if ($requirement != '')
{
$sql = 'SELECT article_type,article_id, title, author, add_time, file_url, open_type' .
' FROM ' .$GLOBALS['ecs']->table('article') .
' WHERE is_open = 1 AND ' . $cat_str . ' AND title like \'%' . $requirement . '%\' ' .
' ORDER BY article_type DESC, article_id DESC';
}
else
{
$sql = 'SELECT article_type, article_id, title, author, add_time, file_url, open_type' .
' FROM ' .$GLOBALS['ecs']->table('article') .
' WHERE is_open = 1 AND ' . $cat_str .
' ORDER BY article_type DESC, article_id DESC';
}
$res = $GLOBALS['db']->selectLimit($sql, $size, ($page-1) * $size);
$arr = array();
if ($res)
{
while ($row = $GLOBALS['db']->fetchRow($res))
{
$article_id = $row['article_id'];
$arr[$article_id]['id'] = $article_id;
$arr[$article_id]['title'] = $row['title'];
$arr[$article_id]['short_title'] = $GLOBALS['_CFG']['article_title_length'] > 0 ? sub_str($row['title'], $GLOBALS['_CFG']['article_title_length']) : $row['title'];
if($row['article_type'] == 1) {
$arr[$article_id]['short_title'] = "<font color=red>".$arr[$article_id]['short_title']."</font>"; //显示红色,该类别下面文章
}
$arr[$article_id]['author'] = empty($row['author']) || $row['author'] == '_SHOPHELP' ? $GLOBALS['_CFG']['shop_name'] : $row['author'];
$arr[$article_id]['url'] = $row['open_type'] != 1 ? build_uri('article', array('aid'=>$article_id), $row['title']) : trim($row['file_url']);
$arr[$article_id]['add_time'] = date($GLOBALS['_CFG']['date_format'], $row['add_time']);
}
}
return $arr;
}
3:如果需要某指定文章显示红色
那么你需要用文章编号article_id来判断,这里的判断语句将写成如下
if($row['article_id'] == 需要指定的文章ID) {
$arr[$article_id]['short_title'] = "<font color=red>".$arr[$article_id]['short_title']."</font>"; //显示红色,该类别下面文章
}
相关文章:
来源:中国B4C电子商务
最近更新
常用插件
- ecshop购物车功能改进[插件
ecshop购物车功能改进[插件套餐]主要是我们最近开发工作和开发项目中。...
- ecshop红包修改成满多少减
我们在长期使用ecshop的时候,我们可以发现。ecshop的红包是一个非常强...
- ecshop降价通知登记插件
ecshop降价通知登记插件,主要是为了方便某些客户,对商品价格要求比...
- ecshop分类树中统计商品数
最近忙于开发其他项目,在不少朋友不断要求和催促的情况下,做出了该小...
- ecshop通用红包编码
很多时候,为了结合促销,必须扩展一下ecshop的红包功能。ecshop的红包...