Typecho自定义导航菜单


Typecho博客程序,简洁、轻便、功能够用。但相对的,很多功能没有,比如导航分类显示功能。
虽然说有些模板可以自己设置导航菜单的显示,但还是也只是小部分。
最近换了Typecho程序,又找了现在的这个模板,发现导航的菜单是直接显示全部分类,包裹直接把子目录也都全显示,造成的顶部太长,不美观。
于是乎,对于向我这样的啥啥都不精的,只能开始边百度,边捣鼓了
最终,在度娘的帮助下,终于弄好了。

方法:修改主题模板的header.php文件,找出相应的起始代码和结束代码,将以下的代码替换保存
代码:

 <?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)): ?> <?php endif; ?>
                <a href="<?php $categorys->permalink(); ?>" title="<?php $categorys->name(); ?>"><?php $categorys->name(); ?></a>
            </li>
          <?php } 
              else { ?>
                  <li>
                        <a  href="<?php $categorys->permalink(); ?>"><?php $categorys->name(); ?> </a>
                        <ul class="sub-menu">
                             <?php foreach ($children as $mid) { ?>
                                            <?php $child = $categorys->getCategory($mid); ?>
                                            <li <?php if($this->is('category', $mid)): ?> class="current-menu-item"<?php endif; ?> >
                                                <a href="<?php echo $child['permalink'] ?>" title="<?php echo $child['name']; ?>"><?php echo $child['name']; ?> </a>
                                            </li>
                                        <?php } ?>
                         </ul>
                 </li>
                 <?php } ?>
                 
            <?php endif; ?>
      <?php endwhile; ?>

声明:逆念 | 人生逆溯,执之信念,终成无畏|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - Typecho自定义导航菜单


人生逆溯,执之信念,终成无畏