ajax 个生成结果的 LinkPager

LinkPager for ajax generated results

有没有办法改变 Yii2 中 LinkPager 生成的 Url? 当搜索字段更新时,我有一个包含 ajax 加载结果的页面。但是我的分页按钮通过 ajax-call url.

链接到一个新页面

我查看了文件,似乎这个函数生成了 url

public function createUrl($page, $pageSize = null, $absolute = false)

这不是可以更改的选项。解决这个问题的方法是什么?

我的结果页面在首页,但分页按钮链接到 ajax/results?page=2&page-size=10。

还有什么比扩展 class 并用您自己的函数替换 renderPageButton 函数更优雅的呢:)。

另一种方式,可能更像是 yii2 方式 :) 如果您看一下 LinkPager,您会发现它不负责创建 URLS。分页是 https://github.com/yiisoft/yii2/blob/master/framework/data/Pagination.php#L257 Pagination 中的 createUrl 函数创建 URL 并且它考虑了为分页对象定义的 $route。如果没有定义 $route 则它采用当前控制器的路由。因此,通过为分页设置 $route,您可以设置按钮将转到的 URL。