我们知道要查询子分类很简单,只需要写一下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(分类页)这样调用
671 篇文章