request->getQueryParams()获取页面的参数 * * 一定要传进来的变量 * @var int $pageCount 总共多少页 */ if (empty($baseUrl)) { $baseUrl = '/' . Yii::$app->request->getPathInfo(); } $queryParams = Yii::$app->request->getQueryParams(); $pageSize = isset($queryParams['pageSize']) && is_numeric($queryParams['pageSize']) ? intval($queryParams['pageSize']) : 20; $pageNumber = isset($queryParams['pageNumber']) && is_numeric($queryParams['pageNumber']) ? intval($queryParams['pageNumber']) : 1; // 首页 $queryParams['pageNumber'] = 1; $firstPageUrl = $baseUrl . '?' . http_build_query($queryParams); // 上一页 $queryParams['pageNumber'] = $pageNumber > 1 ? $pageNumber - 1 : 1; $prevPageUrl = $baseUrl . '?' . http_build_query($queryParams); // 下一页 $queryParams['pageNumber'] = $pageNumber < $pageCount ? $pageNumber + 1 : $pageCount; $nextPageUrl = $baseUrl . '?' . http_build_query($queryParams); // 末页 $queryParams['pageNumber'] = $pageCount; $lastPageurl = $baseUrl . '?' . http_build_query($queryParams); // 所有的页码 $pageItem = []; for ($i = 1; $i <= $pageCount; $i++) { $queryParams['pageNumber'] = $i; $pageItem[$i] = $baseUrl . '?' . http_build_query($queryParams); } // 当前页码前后的省略号,比如总共11页,现在是第5页,前后显示2页,那么应该是... 3 4 5 6 7 ...这样的形式,避免在页数过多时把所有页码都显示出来 $beforeCurrentPageEllipsis = false; $afterCurrentPageEllipsis = false; // 当前页码前后显示的页数 $beforeAndAfterPageNum = 2; ?> 1) : ?>