|
Emlog技巧:一键获取多顶级分类及其子类文章
最近做一款企业主题,需要调用指定多个一级分类下的所有文章,包含子分类文章。参考了分类页面的调用方式,现分享出来,代码如下:
-
- <?php
- $db = MySql::getInstance();
- global $CACHE;
- $sort_cache = $CACHE->readCache('sort');
- foreach(array(1,2,3) as $key => $i){
- $sort = $sort_cache[$i];
- if($sort['pid'] != 0 || empty($sort['children'])){
- $slsortid = $i;
- }else{
- $slsortids = array_merge(array($i),$sort['children']);
- $slsortid = implode(',',$slsortids);
- }
- ?>;
- <br />;分类名称+链接:<a href="<?php echo Url::sort($i);?>;" title="<?php echo $sort_cache[$i]['sortname'];?>;">;<?php echo $sort_cache[$i]['sortname'];?>;</a>;<br />;
- <?php foreach($Log_Model->getLogsForHome("and sortid IN ($slsortid) order by date desc",0,10) as $key=>$value){?>;
- 文章标题+链接:<a href="<?php echo Url::log($value['gid']);?>;" title="<?php echo $value['title'];?>;" target="_blank">;<?php echo $value['title'];?>;</a>;<br />;
- <?php }?>;
- <?php }?>;
复制代码
array(1,2,3)中的数字代表分类id,当不是一级分类时,只调用当前分类下的文章,当是一级分类时则调用当前一级分类下所有子分类的文章。
,0,10中的10代表调用的文章数量,0不做任何修改,否则会出错。
效果图(css和图片调用自行添加即可):
|
|