元素模板YS720.COM讲解下在ECSHOP商城任意页面调用显示文章的方法教程。
比如我想在首页添加文章显示,那就打开index.php首页文件,不同页面不同php文件
然后在:index.php最底下 前面 ?>
/** * 获得指定栏目的文章列表。 * @param int $cid 栏目ID * @param int $row 条数 * @return array */ function index_get_articles($cid = 0, $row = 10){ $ta = $GLOBALS['ecs']->table('article'); $tac = $GLOBALS['ecs']->table('article_cat'); $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 $ta AS a, $tac AS ac WHERE a.cat_id = ac.cat_id AND a.cat_id = $cid ORDER BY a.article_type DESC, a.add_time DESC LIMIT $row "; $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; }
再向上查找以下代码,并添加代码所示内容:
$smarty->assign('shop_notice', $_CFG['shop_notice']); // 商店公告$smarty->assign('service_article', index_get_articles(12,10)); //ECSHOP教程网新加文章(12是文章分类ID,10是显示文章数量)
然后在首页模板文件index.dwt 添加:
<ulclass="arcList"><!--{foreach from=$service_article name=service_article item=article}--><li><ahref="{$article.url}"title="{$article.title|escape:html}">{$article.title}</a></li><!--{/foreach}--></ul>
后台清理下缓存就可以显示了。