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

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

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

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

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

效果如下:

主分类下效果

子分类效果:

代码放到(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) . '" class="target" rel="external nofollow" title="全部">全部</a></li>';

    } else {

        $sortid = $rows['pid'];

        echo '<li><a href="/go/?url=' . Url::sort($sortid) . '" class="target" 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) . '" class="target" rel="external nofollow">' . $sort_cache[$i]['sortname'] . '</a></li>';

        }

    }

    echo $out;

}

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

 <?php sort_name($sortid);?> 
代码中cur是当前分类高亮的class值,有什么问题大家可以留言。感谢支持
  • 发表于 2021-04-03 12:28
  • 阅读 ( 458 )
  • 分类:互联网

0 条评论

请先 登录 后评论