网站开发 · 2025年4月23日

ecshop不同页面调用不同分类文章的办法

ecshop不同页面调用不同分类文章,需要修改对应的程序,修改index.php或者arctical_cat.php文件

在$smarty->assign(‘new_articles’, index_get_new_articles());下面

增加

$smarty->assign(‘class_articles_4’, index_get_class_articles(4,6)); // 分类调用文章

//4就是文章分类ID,其中6是调用数量

$smarty->assign(‘class_articles_5’, index_get_class_articles(5,6)); // 分类调用文章

$smarty->assign(‘class_articles_6’, index_get_class_articles(6,6)); // 分类调用文章

在对应的dwt模板想调用的地方增加下面代码,(以下调上面分类ID为4的文章列表):

<!–{foreach from=$class_articles_4 item=article}–> 

<li><a href=”{$article.url}” title=”{$article.title|escape:html}”><!–{$article.short_title|truncate:15:true}–></a></li> 

<!–{/foreach}–>

其中的4为你调用的id

在includes文件夹下找到init.php增加以下函数 ,即在结束符 ?>之前增加

function index_get_class_articles($cat_aid, $cat_num)

{

$sql = “SELECT article_id, title,open_type,cat_id,file_url FROM ” .$GLOBALS[‘ecs’]->table(‘article’). ” WHERE cat_id = “.$cat_aid.” and is_open = 1 LIMIT ” . $cat_num;

$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;

}

注意:文章简介和内容提取字数可在

$arr[$idx][‘title’] = $row[‘title’];

下面根据需要自行添加