出于 SEO 目的,我需要从 URL 中删除第一页码。即我有以下内容:
example.com/pages/view/1
和 example.com/pages/view
这两个 URL 指向相同的 View 操作内容。我想让分页从 URL 中的 1
开始。即第一个页面链接和页码 1 应该链接到 pages/view
。
我尝试像下面这样处理 $pagination 对象:
$pages = new Pagination(['totalCount' => $books['booksCount'], 'pageParam' => 'start', 'defaultPageSize' => 10,]);
$pagingLinks = $pages->getLinks();
$pagingLinks['first'] = '/';
$pages->links = $pagingLinks;
然而,导致错误的最后一行:
Setting read-only property: yii\data\Pagination::links
所以我在修改链接属性时遇到了问题。是否有任何其他解决方案来完成此任务?!
最佳答案
According to docs你应该通过将 yii\data\Pagination::forcePageParam
传递给 Pagination 构造函数来将其设置为 false
$pages = new Pagination([
'totalCount' => $books['booksCount'],
'pageParam' => 'start',
'defaultPageSize' => 10,
'forcePageParam' => false,
]);
关于.htaccess - 从 URL 中删除 Yii2 Pagination 中的第一页编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30469214/