Typecho获取指定ID的子类列表

integcha
  • 2
新手上路,请多包涵

我用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的分类,谢谢!

评论
阅读 4.7k
撰写回答

登录后参与交流、获取后续更新提醒

宣传栏