mbtdr3ev - 3天前注册会员;
3n44fZgo - 23天前注册会员;
73n5lsCR - 37天前注册会员;
NaZ2pUfG - 46天前注册会员;
bwpKIZwD - 95天前注册会员;
加入我们(62 )

第3章节,完善导航分类部分,(typecho主题模板开发实战)

前言

  • 不错,你已经完成了,头尾分离的工作
  • 接下来,先不要处理内容部分的问题
  • 我们来完善,导航部分

接下来仔细阅读,多思考。

先来看看官方的代码

下面用注释,给大家解释一下。为了好理解,可能讲的比较抽象?反正尽量让你知道意思

//这里有一个while循环,这个之前的知识中,有解释过,和js的while循环相似。
typecho1.1版本是这样的,当然1.2也兼容(推荐大家学习1.1版本的代码)

<?php $this->widget('Widget_Metas_Category_List')->to($category); ?>
<?php while($category->next()): ?>
//其实这里是很好理解的,会输出所有的分类。以a标签的形式
<a href="<?php $category->permalink(); ?>" title="<?php $category->name(); ?>"><?php $category->name(); ?></a>
<?php endwhile; ?>

都是一样,大同小异~

本次用到的php代码:
$category->permalink() 输出分类链接
$category->title() 输出分类名称


进阶教学,分类导航二级导航

二级导航,等你有熟悉之后再看也可以,不多解释


<?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 class="header__nav-item">
                <a href="<?php $categorys->permalink(); ?>" class="header__nav-link"><?php $categorys->name(); ?></a>
            </li>
        <?php } else { ?>
            <li class="header__nav-item">
                <a class="dropdown-toggle header__nav-link" href="#" role="button" id="dropdownMenuProjects" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><?php $categorys->name(); ?></a>
                <ul class="dropdown-menu header__dropdown-menu" aria-labelledby="dropdownMenuProjects">
                    <li><a href="<?php $categorys->permalink(); ?>"><?php $categorys->name(); ?></a></li>
                    <?php foreach ($children as $mid) { ?>
                        <?php $child = $categorys->getCategory($mid); ?>
                        <li><a href="<?php echo $child['permalink'] ?>"><?php echo $child['name']; ?></a></li>
                    <?php } ?>
                </ul>
            </li>
        <?php } ?>
    <?php endif; ?>
<?php endwhile; ?>

好了,将导航部分插入,试试看吧~

声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。