如何获取指定分类的文章列表?
2016-07-07 14:55 来源:www.chinab4c.com 作者:ecshop专家
如何获取文章分类的文章列表? 例如: 我在后台添加了一个新的文章分类“行业资讯”, 然后在此分类下添加了十篇文章(文章1~文章10)。 如果我想把这个分类的前八篇文章(文章1~文章8)显示在网站首页,需要怎么修改呢?请大侠们可以指点一下,谢谢! |
回答:
这个不能设置哦~ 或者修改程序中排序,然后程序按排序排 |
方法如下: 打开根目录下的index.php文件,搜索以下代码: $arr[$idx]['cat_url']= build_uri('article_cat', array('acid' => $row['cat_id']), $row['cat_name']); 在下面加一行代码 $arr[$idx]['cat_id']= $row['cat_id']; 这样就可以获取到各文章分类的ID了。 接下来我们在首页调用文章的地方加一句判断分类ID的过滤。举例: <!--{foreach from=$new_articles item=article}--> <!--{if $article.cat_id == 6}--> <!-- {if $smarty.foreach.new_articles.index lt 9} **文章显示数量 --> <li><a title="{$article.title|escape:html}" href="{$article.url}">{$article.cat_id}:{$article.short_title|truncate:10:"...":true}</a></li> <!--{/if}--> <!--{/if}--> <!--{/foreach}--> 这段代码的意思是调取分类ID为6的最新文章,具体使用的时候请参考酌情修改。 |
还有一种方法是增加调用自创的分类文章函数index_get_class_articles 在lib_goods.php增加以下函数 /** * 获得指定栏目最新的文章列表。 * * @access private * @return array */ 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; } 2 打开index.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)); // 分类调用文章 $smarty->assign('class_articles_7', index_get_class_articles(7,6)); // 分类调用文章 $smarty->assign('class_articles_8', index_get_class_articles(8,6)); // 分类调用文章 3 在index.dwt模板想调用的地方增加以下代码,(注:以下调上面设置里的分类ID为8的文章列表): <!--{foreach from=$class_articles_8 item=article}--> <li><a href="{$article.url}" title="{$article.title|escape:html}"><!--{$article.short_title|truncate:15:true}--></a></li> <!--{/foreach}--> |
最近更新
常用插件
- ecshop2.7.1打印发货单插件
ecshop2.7.1打印发货单插件介绍:ecshop2.7.1和以前的ecshop版本不一样,ecs...
- ecshop二次开发详细页面生
插件介绍: ECSHOP系统,在很多时候,很多商品没有人购买,不但购买的人...
- ecshop分类批量扩展插件
ecshop分类批量扩展插件,这个插件是ecshop插件里面比较核心的插件。我们...
- ecshop商品分类名称增加样
ecshop插件介绍:本插件可以方便在后台管理,为ecshop商品分类名称增加样...
- ecshop二次商品订购人信息
ecshop二次商品订购人信息填写插件,有时候给朋友送花,或者是送礼品的...
ecshop热门问答
ecshop热门资料
ecshophandler
ecshop繁体
ecshop小鸟
ecshop支付方式排序
ecshop后天
ecshopincludes
ecshop火狐浏览器
ecshop大哥
ecshop同步发货
ecshop在线交流
ecshop定制模板
ecshop接口
ecshop不同型号
ecshopThe
ecshop单词
ecshop花店
ecshop改过
javapackage
ecshop商品折扣
ecshop提货卡
ecshop收录
ecshop商城模板
ecshopcookie
ecshopall
ecshop会员注册送红包
ecshop转跳
ecshopoption
ecshop成果
ecshop紫林商城
ecshop主题