tp5.0.20 分頁跳轉時URL錯誤的解決辦法
最近的專案用TP5.0.20 , 在使用過程中發現分頁有時候 正常有時候 不正常 ,可能是伺服器配置的問題吧 ,分頁點選下一頁面的時候 URL不正確 , 於是百度了蠻久 , 也到TP官網論壇裡面去找幫忙 ,結果都是沒有效果 ,於是 想,自己能不能按照自己的需求來改進一下這個分頁功能。結果還真的成功了 。分享一下!
首頁,在執行的時候已經設定了 \think\Url::root('/public/index.php?s=') ; 所以訪問頁面基本上都是 類似於 http://域名/public/index.php?s=/index/Order/index.html ,當有分頁的時候 ,下一頁系統預設是 index.php?page=2 ,這樣肯定不能正常訪問到正確的下一頁 , 正確的URL應該是 /public/index.php?s=/index/Order/index/page/2.html .所以得動手 修改一下分頁的功能了。
1.修改一下配置檔案config.php中的對於分頁的設定 ,我的配置如下 :
注意:path,iswrong 這兩項是自己配置的,
2.修改核心檔案功能 \think\library\think\Paginator.php , 修改的部分如下 , 只需要修改 url()方法即可;程式碼如下
protected function url($page)
{
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('[PAGE]', $page, $this->options['path']);
}
if (count($this->options['query']) > 0) {
$parameters = array_merge($this->options['query'], $parameters);
}
if( $this->options['iswrong'] ){ // 自己寫的
$request= \think\Request::instance();
$path .= "/".$request->module()."/".$request->controller()."/".$request->action() ;
$url = $path;
if (!empty($parameters)) {
foreach($parameters as $key=>$val){
$url .= '/' . $key.'/'.$val ;
}
$url .='.'.config('url_html_suffix') ;
}
}else{ // 系統原來的
$url = $path;
if (!empty($parameters)) {
$url .= '?' . http_build_query($parameters, null, '&');
}
}
return $url . $this->buildFragment();
}
如果能解決你的問題記得點贊喲~~
相關文章
- 【git】Git commit時提示錯誤時 解決辦法GitMIT
- CATIA許可證時間錯誤的解決辦法
- 畢設之錯誤解決辦法
- Idea編譯錯誤解決辦法Idea編譯
- 報錯:net::err_unknown_url_scheme的解決辦法Scheme
- mysqldump error1066 錯誤的解決辦法MySqlError
- iOS路上遇到的錯誤及解決辦法iOS
- ubuntu下import matplotlib錯誤解決辦法UbuntuImport
- 執行 PHP artisan migrate 時報長度錯誤的解決辦法?PHP
- 網站劫持跳轉,分享網站被劫持跳轉的解決辦法網站
- 開啟網站被掛馬跳轉到博彩頁面解決辦法網站
- 安裝wsl錯誤的一種解決辦法
- 使用錨點跳轉時出現位置偏差原因及解決辦法
- Git 錯誤:fatel: loose object ... is corrupt 解決辦法GitObject
- Mysql出現連線錯誤解決辦法MySql
- ORA-39006錯誤原因及解決辦法
- Flutter url_launcher 報錯 canLaunch will return false(Android)的解決辦法FlutterFalseAndroid
- identity server4 授權成功頁面跳轉時遇到錯誤:Exception: Correlation failed. Unknown location的解決方法IDEServerExceptionAI
- PHP編譯安裝時常見錯誤解決辦法,php編譯常見錯誤PHP編譯
- Ubuntu 安裝包時提示錯誤E: Unable to locate package mysql-server錯誤 解決辦法UbuntuPackageMySqlServer
- react跳轉url,跳轉外鏈,新頁面開啟頁面React
- 解決Spring Boot無法跳轉jsp頁面問題Spring BootJS
- 出現可怕的NoSuchMethodError錯誤的解決辦法 -Gunnar MorlingError
- 網站被劫持 網站被劫持跳轉到非法頁面的解決辦法網站
- win10硬體錯誤117怎麼解決?win10硬體錯誤117的解決辦法Win10
- git add .出現錯誤LF will be replaced by CRLF in 解決辦法Git
- kali更新源數字簽名錯誤解決辦法
- Windows git remote: HTTP Basic: Access denied 錯誤解決辦法WindowsGitREMHTTP
- JPA-style positional param was not an integral ordinal錯誤解決辦法
- command 'gcc' failed with exit status 1錯誤問題的解決辦法GCAI
- catalog is missing 10 attribute(s)錯誤的解決辦法一例
- java使用@Controller註解跳轉到thmyleaf頁面時候報錯JavaController
- Win7 IIS7.5執行ASP時出現500錯誤的解決辦法Win7
- 錯誤720寬頻連線解決辦法 寬頻連線錯誤程式碼720怎麼解決
- steam無法載入網頁怎麼辦 steam網頁提示錯誤程式碼-118怎麼解決網頁
- Python 命令跳轉微軟應用商店問題解決辦法Python微軟
- Ubuntu20.04安裝MySQL8.0時出現依賴錯誤解決辦法UbuntuMySql
- git報錯400的解決辦法Git