Typecho获取指定ID的子类列表

我用typecho来做一个企业网站,但是存在一个问题,typecho调用分类就会把所有分类调出来,而我在产品栏目中仅需要调用属于产品相关的分类,比如网站的分类如下:

新闻资讯
-公司新闻
-行业资讯
产品中心
-五金产品
--五金压铸
--五金注塑
-塑胶产品

按照typecho的代码就会把上面的所有分类调出来:

方式一:

<?php $this->widget('Widget_Metas_Category_List')->listCategories('wrapClass=widget-list'); ?>

方式二:

<?php $this->widget('Widget_Metas_Category_List')->parse('<li><a href="{permalink}">{name}</a></li>'); ?>

方式三:

<?php $this->widget('Widget_Metas_Category_List')->to($recent);
while($recent->next()):
    $recent->name();
endwhile; ?>

方式四:

<?php $obj = $this->widget('Widget_Metas_Category_List');
if($obj->have()){
    while($obj->next()){
        $obj->name();
        ... ...
    }
}else{
    echo '无分类';
} ?>

但这个不是我想要的结果,我想在产品页面仅调用产品中心下属的分类,新闻资讯那些就不用显示,可是上述方法都没办法。

我在网上查到了下列资料:

**可用字段**
mid:分类id
name:分类名称
slug:分类缩写名
type:分类类型,譬如categorery
description:分类的描述
count:该分类下的文章数目
order:
parent:父分类的mid
levels:所在的层级
directory:Array类型,数组元素是每层分类的slug
permalink:该分类的url
**可用参数**
ignore 不显示的分类mid
current 当前分类mid,如果设置了,则会在输出是增加class="category-active"样式
$this->widget('Widget_Metas_Category_List','ignore=1&current=2'),则不显示mid为1的分类,并在mid为2的li上增加“category-active”类型

认为使用ignore可以实现我的目的,那就是不显示新闻资讯相关分类,代码如下(假定新闻资讯的id是1)

<?php $this->widget('Widget_Metas_Category_List','ignore=1')->parse('<li><a href="{permalink}">{name}</a></li>'); ?>

包括用其它几种方式这样操作,都还是显示全部分类。
因为我不懂PHP的缘故,也不知道是哪里使用错了,想请教一下大家怎么样才能实现只显示指定ID的分类,谢谢!

阅读 5.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏