QQ爹の博客 QQ爹の博客

Typecho设置父分类和子分类不同样式的方法

in Typecho 文章转载请注明来源!

为Typecho的子分类设置二级菜单
就是普通的分类,正常输出;有子分类的父级分类,输出后点击它会展开二级菜单里面有这个父级旗下的子分类。类似下面的两个GIF图片效果。



实现代码类似如下

<?php $this->widget('Widget_Metas_Category_List')->to($categorys); ?>
<?php while($categorys->next()): ?>
<?php if ($categorys->levels === 0): ?>
<?php $children = $categorys->getAllChildren($categorys->mid); ?>
<?php if (empty($children)) { ?>
<li <?php if($this->is('category', $categorys->slug)): ?> class="active"<?php endif; ?>>
<a href="<?php $categorys->permalink(); ?>" title="<?php $categorys->name(); ?>"><?php $categorys->name(); ?>
<span class="badge"><?php $categorys->count(); ?></span></a>
</li>
<?php } else { ?>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#" data-target="#"><?php $categorys->name(); ?> <b class="caret"></b></a>
<ul class="dropdown-menu">
<?php foreach ($children as $mid) { ?>
<?php $child = $categorys->getCategory($mid); ?>
<li <?php if($this->is('category', $mid)): ?> class="active"<?php endif; ?>>
<a href="<?php echo $child['permalink'] ?>" title="<?php echo $child['name']; ?>"><?php echo $child['name']; ?>
<span class="badge" style="float:right;"><?php echo $child['count']; ?></span></a>
</li>
<?php } ?>
</ul></li>
<?php } ?><?php endif; ?><?php endwhile; ?>

代码参考:http://www.haipz.com/blog/i/6497

jrotty WeChat Pay

微信打赏

jrotty Alipay

支付宝打赏

文章二维码

扫描二维码,在手机上阅读!

typecho代码
发表新评论
已有 4 条评论
  1. 惠阳凯凯
    惠阳凯凯Windows 10谷歌浏览器
    回复

    能不能输出当前栏目下的子栏目呢?要单独的。还有子栏目不能设置为/news/china/这样吗?目前默认的子栏目直接就是/china/

    1. Jrotty
      JrottyWindows 10谷歌浏览器
      回复

      @惠阳凯凯 当前分类下的子分类用上文的代码即可实现,网址那个我就不知道啦╮( ̄▽ ̄)╭

  2. ‭蔡锶铎
    ‭蔡锶铎Windows 10谷歌浏览器
    回复

    顶这个略屌(`・ω・´)

    1. Jrotty
      JrottyWindows 10谷歌浏览器
      回复

      @‭蔡锶铎 这个功能早就想实现了,最近才想起来(;¬_¬)

PREVIOUS NEXT
雷姆
拉姆
音乐加载中...
0:00