一开始也看了些资料,但是好像都不起作用。所以只能将生成的HTML进行处理,处理为自己需要的伪静态结果。
新增公共静态方法在模板中调用:
/** * 处理分页中伪静态 * @param $pages * @return mixed|string * @throws \Exception */ public static function pageDispose($pages) { $html = LinkPager::widget([ 'pagination' => $pages, 'nextPageLabel' => '下一页', 'prevPageLabel' => '上一页', ]); $preg = '/<a .*?href="(.*?)".*?>/is'; preg_match_all($preg, $html, $match); for ($i = 0; $i < count($match[1]); $i++) { $array = parse_url($match[1][$i]); $pathArray = pathinfo($array['path']); parse_str($array['query'], $url_params_arr); if (!empty($url_params_arr['page'])) { $page = $url_params_arr['page']; $filename = $pathArray['filename'] . '-' . $page . '.html'; $html = str_replace($match[1][$i], $filename, $html); } } return $html; }
模板中使用:
<?= \frontend\controllers\BaseController::pageDispose($pages); ?>
main.php配置文件:
'list-<id:\d+>-<page:\d+>' => 'site/list', //分页
关键字词: