ecshop 调用指定栏目文章的方法
ecshop因为是商店型的 所以他用起来肯定没有dede或者php
cms他们那样得心应手 很多地方都需要自己去手动改下
必须在首页有很多个栏目 需要调用不同ID下的文章显示 那么这里就可以看看方法:
1、打开根目录下
index.php 寻找
index_get_new_articles()
将默认的内容更改为如下:
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, ac.cat_name ' .
' 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']), $row['cat_name']);
$arr[$idx]['cat_id'] = $row['cat_id'];
}
return $arr;
}
在需要调用指定栏目ID的文章的时候 只需要加上如下ID判断即可
<!--{foreach from=$new_articles item=article}-->
<!--{if $article.cat_id == 8}-->
<li>
[<a href="{$article.cat_url}">{$article.cat_name}</a>] <a href="{$article.url}" title="{$article.title|escape:html}">{$article.short_title|truncate:10:"...":true}</a>
<span>{$article.add_time}</span>
</li>
<!--{/if}-->
<!--{/foreach}-->
打赏