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