Emlog实现主分类以及子分类显示该分类全部分类和当前分类高亮

【摘要】 本文是介绍:Emlog如何实现主分类以及子分类显示该分类全部分类和分类高亮 我们知道要查询子分类很简单,只需要写一下sql查询一下哪个分类的pid是主分类ID 但是此方法到了子分类......

本文是介绍:Emlog如何实现主分类以及子分类显示该分类全部分类和分类高亮

我们知道要查询子分类很简单,只需要写一下sql查询一下哪个分类的pid是主分类ID

但是此方法到了子分类就会不显示或者出错,这里思源自己写了个代码实现了这个功能。

效果如下:

主分类下效果

QQ截图20200323213337.jpg

子分类效果:

QQ截图20200323213421.jpg

代码放到(module.php)中:

function sort_name($sortid)

{

    $db = MySql::getInstance();

    global $CACHE;

    $sort_cache = $CACHE->readCache('sort');

    $sort_z = $db->query("SELECT * FROM " . DB_PREFIX . "sort where sid=$sortid ORDER BY sid ASC, taxis asc");

    $rows = $db->fetch_array($sort_z);

    if ($rows['pid'] == '0') {

        echo '<li class="cur"><a href="/go/?url=' . Url::sort($sortid) . '" rel="external nofollow" title="全部">全部</a></li>';

    } else {

        $sortid = $rows['pid'];

        echo '<li><a href="/go/?url=' . Url::sort($sortid) . '" rel="external nofollow" title="全部">全部</a></li>';

    }

    $sort_a = $db->query("SELECT * FROM " . DB_PREFIX . "sort where pid=$sortid ORDER BY sid ASC, taxis asc");

    while ($row = $db->fetch_array($sort_a)) {

        foreach (array($row['sid']) as $key => $i) {

            $current_tab = BLOG_URL . trim(Dispatcher::setPath(), '/') == Url::sort($i) ? 'cur' : '';

            $out .= '<li class="' . $current_tab . '"><a href="/go/?url=' . Url::sort($i) . '" rel="external nofollow">' . $sort_cache[$i]['sortname'] . '</a></li>';

        }

    }

    echo $out;

}

然后在log_list.php(分类页)这样调用

 <?php sort_name($sortid);?> 
代码中cur是当前分类高亮的class值,有什么问题大家可以留言。感谢支持
版权声明:《 Emlog实现主分类以及子分类显示该分类全部分类和当前分类高亮 》为作者 思源哥哥原创文章,转载请注明原文地址!
最后编辑:2020-3-23 21:03:32
分享到:
打赏
评论 (5)
  • 你这个列表页点赞是怎么实现的啊

    • @包子铺博客:用的一款插件,原作者是简爱我二次开发了一下集成到了我现在的模板 嘿嘿,你可以百度一下教程或者插件

      • @思源哥哥:插件叫啥名字,求告知

        • @包子铺博客:https://www.lanzous.com/iap00ej这是网上的修改版本ja_praise