还是那样,默认的 ?page=2
一类的看不习惯,所以修改一下。
需要注意的是,这里修改的是thinkphp核心类里面的内容,有技术的建议自己定义分页代码,还需要注意的是如果后台也是调用 Paginator.php 这个文件的,那么不建议如此修改,还是多找找资料看看吧。由于我现在用的这个cms 后台使用的 js 翻页,所以修改核心无所谓。千万不要一上来就修改核心,因为我之前就犯过这个错误,前台的url修改好了,但是后台的url很难看。
主要修改为两个步骤:
第一个修改route.php,也就是路由定制伪静态。
具体参考文章:
[post id="1219"]
第二个就是修改默认的url格式为自己定义的格式。
代码:
/**
* 获取页码对应的链接
*
* @access protected
* @param int $page
* @return string
*/
protected function url(int $page): string
{
if ($page <= 0) {
$page = 1;
}
if (strpos($this->options['path'], '[PAGE]') === false) {
$parameters = [$this->options['var_page'] => $page];
$path = $this->options['path'];
} else {
$parameters = [];
$path = str_replace('[p]', $page, $this->options['path']);
}
if (count($this->options['query']) > 0) {
$parameters = array_merge($this->options['query'], $parameters);
}
$path = preg_replace('//p/d+/','',$path);//修改结果
$url = $path;
if (!empty($parameters)) {
// $url .= '/' . http_build_query($parameters, '', '&');
$url = $path.'/'.$this->options['var_page'].'/'.$page.'/';//修改结果
}
return $url . $this->buildFragment();
}
上面 修改后缀 就注释就代表着这是我修改的内容。
注意两个步骤一个不能少,按照我上面的代码,修改完的url 样式应该是 http://lan.com/meiwen/page/2/
这样的,如果说不对,或者你想修改自己喜欢的样式,主要针对 $url 参数修改。
否则会报错的。
就像这样婶儿的。
正文结束