还是那样,默认的 ?page=2
一类的看不习惯,所以修改一下。
需要注意的是,这里修改的是thinkphp核心类里面的内容,有技术的建议自己定义分页代码,还需要注意的是如果后台也是调用 Paginator.php 这个文件的,那么不建议如此修改,还是多找找资料看看吧。由于我现在用的这个cms 后台使用的 js 翻页,所以修改核心无所谓。千万不要一上来就修改核心,因为我之前就犯过这个错误,前台的url修改好了,但是后台的url很难看。
主要修改为两个步骤:
第一个修改route.php,也就是路由定制伪静态。
具体参考文章:
第二个就是修改默认的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 参数修改。
否则会报错的。
就像这样婶儿的。