yzncms基于thinkphp框架 那么伪静态当然少不了写路由来实现的
案例如:
www.***.com/list/1.htm?page=2
伪静态 :www.***.com/list/1_1.html
打开routeroute_cms.php 找到
Route::rule('lists/:catid/[:condition]', 'cms/index/lists')->pattern(['catid' => 'd+', 'condition' => '[0-9_&=a-zA-Z]+']);
在下方增加
Route::rule('lists/[:catid]/[:condition]_:page', 'cms/index/lists')->pattern(['catid' => 'd+', 'condition' => '[0-9_&=a-zA-Z]+', 'page' => 'd+']);
然后找到分页类 applicationcmspaginatorPage.php
找到getAvailablePageWrapper方法 给一下判断替换
直接替换如下方法
protected function getAvailablePageWrapper($url, $page) { preg_match("/d+/",$url,$urls); if(is_numeric($urls['0'])){ if($page == 1){ $url=$urls['0'].".html"; }else{ $url=$urls['0']."_".$page.".html"; } } if($page == '»'){ $sum=$this->currentPage()+1; $url=$urls['0']."_".$sum.".html"; } if($page == '«'){ $sum=$this->currentPage()-1; if($sum == 1){ $url=$urls['0'].".html"; }else{ $url=$urls['0']."_".$sum.".html"; } } return '<li><a href="' . htmlentities($url) . '">' . $page . '</a></li>'; }
修改好 务必 更新一下缓存就可以了
PS: 由于工作时间原因 我只写了 URL模式:数字 标识的我没写上