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模式:数字 标识的我没写上
