$host, 'page' => $listPage, 'page_size' => $pageSize, ]; if ($selectedCateId > 0) { $blogNewsQuery['cate'] = $selectedCateId; } $blogNewsUrl = $apiUrl . '/getCenterNews?' . http_build_query($blogNewsQuery); $blogNewsRes = fetchApiData($blogNewsUrl); // count:当前「全部」或某分类下的条数(用于分页);total:当前租户下新闻总条数 $listTotal = array_key_exists('count', $blogNewsRes ?? []) ? (int) $blogNewsRes['count'] : (int) ($blogNewsRes['total'] ?? 0); $allNewsList = is_array($blogNewsRes['list'] ?? null) ? $blogNewsRes['list'] : []; $totalPages = max(1, (int) ceil($listTotal / $pageSize)); if ($listPage > $totalPages && $listTotal > 0) { $listPage = $totalPages; $blogNewsQuery['page'] = $listPage; $blogNewsUrl = $apiUrl . '/getCenterNews?' . http_build_query($blogNewsQuery); $blogNewsRes = fetchApiData($blogNewsUrl); $listTotal = array_key_exists('count', $blogNewsRes ?? []) ? (int) $blogNewsRes['count'] : (int) ($blogNewsRes['total'] ?? 0); $allNewsList = is_array($blogNewsRes['list'] ?? null) ? $blogNewsRes['list'] : []; } // 分类排序:sort 升序,其次 id $categories = is_array($articleCategoryList ?? null) ? $articleCategoryList : []; usort($categories, static function ($a, $b) { $sa = (int) ($a['sort'] ?? 0); $sb = (int) ($b['sort'] ?? 0); if ($sa !== $sb) { return $sa <=> $sb; } return ((int) ($a['id'] ?? 0)) <=> ((int) ($b['id'] ?? 0)); }); // 构建分类父子结构 $rootCategories = []; $childrenMap = []; foreach ($categories as $cat) { $catId = (int) ($cat['id'] ?? 0); $catCid = (int) ($cat['cid'] ?? 0); if ($catId <= 0) continue; if ($catCid === 0) { $rootCategories[] = $cat; } else { if (!isset($childrenMap[$catCid])) { $childrenMap[$catCid] = []; } $childrenMap[$catCid][] = $cat; } } /** @return array */ $blogPageQuery = static function (int $lp, int $cateId): array { return ['cate' => $cateId, 'page' => $lp]; }; ?>

新闻中心

$item): ?>

0 ? '该分类下暂无新闻' : '暂无新闻数据'; ?>

= 1): ?>