Typecho输出分类子分类添加导航 - 夏目友人帐

Typecho输出分类子分类添加导航

"夏目贵志" 发表于: 2018年03月29日

方法一

此方法直接调用Typecho的函数即可。

<?php $this->widget('Widget_Metas_Category_List')->listCategories('wrapClass=widget-list'); ?>
<style type="text/css">
.category-parent .category-child {display: none;}
.category-parent:hover .category-child {display: block;}
</style>

具体参数:请查看var/Widget/Metas/Category/List.php文件中的listCategories函数。

'wrapTag'           =>  'ul',
'wrapClass'         =>  '',
'itemTag'           =>  'li',
'itemClass'         =>  '',
'showCount'         =>  false,
'showFeed'          =>  false,
'countTemplate'     =>  '(%d)',
'feedTemplate'      =>  '<a href="%s">RSS</a>'

方法二

感觉官方自带的不是太方便修改,所以自己折腾了2个小时,总算弄出来了。

已实现:
父分类可在任意顺序
解决多层分类的问题

在适当位置插入下列代码:

<?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(); ?></a>
                                </li>
                            <?php } else { ?>
                                <li >
                                    <a  data-toggle="dropdown" href="#" data-target="#"><?php $categorys->name(); ?></a>
                                    <ul class="png">
                                        <?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']; ?></a>
                                            </li>
                                        <?php } ?>
                                    </ul>
                                </li>
                            <?php } ?>
                        <?php endif; ?>
                    <?php endwhile; ?>

效果图:

请输入图片描述

转载自:http://www.mspx.org.cn/903.html

方法一

此方法直接调用Typecho的函数即可。

<?php $this->widget('Widget_Metas_Category_List')->listCategories('wrapClass=widget-list'); ?>
<style type="text/css">
.category-parent .category-child {display: none;}
.category-parent:hover .category-child {display: block;}
</style>

具体参数:请查看var/Widget/Metas/Category/List.php文件中的listCategories函数。

'wrapTag'           =>  'ul',
'wrapClass'         =>  '',
'itemTag'           =>  'li',
'itemClass'         =>  '',
'showCount'         =>  false,
'showFeed'          =>  false,
'countTemplate'     =>  '(%d)',
'feedTemplate'      =>  '<a href="%s">RSS</a>'

方法二

感觉官方自带的不是太方便修改,所以自己折腾了2个小时,总算弄出来了。

已实现:
父分类可在任意顺序
解决多层分类的问题

在适当位置插入下列代码:

<?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(); ?></a>
                                </li>
                            <?php } else { ?>
                                <li >
                                    <a  data-toggle="dropdown" href="#" data-target="#"><?php $categorys->name(); ?></a>
                                    <ul class="png">
                                        <?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']; ?></a>
                                            </li>
                                        <?php } ?>
                                    </ul>
                                </li>
                            <?php } ?>
                        <?php endif; ?>
                    <?php endwhile; ?>

效果图:

请输入图片描述

转载自:http://www.mspx.org.cn/903.html

添加新评论