pretty URLs 分頁(Pagination pretty URLs)
假設我們使用 GridView 來展示我們的網頁資料。如果有很多資料的話,我們會使用分頁。使用 GET 參數來提供分頁資訊是很重要的,因為這樣搜尋網站才能對網頁的資料建立索引。除此之外,我們也希望網址看起來漂亮。
1. 初始狀態
假設我們最開始的網址是http://example.com/schools/schoolTitle
。schoolTitle
是程式碼title
參數的輸入資料。這個作法的細節可以參考這邊。
在 Yii config 檔裡面:
$config = [
// ...
'components' => [
// ...
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'rules' => [
'schools/<title:\w+>' => 'site/schools',
],
],
// ...
],
// ...
並且我們在http://example.com/schools/schoolTitle
加上 GridView。
2. pretty URLs 分頁
完成分頁功能之後,當我們點擊下一頁的網址,會長得像是http://example.com/schools/schoolTitle?page=2
。我們希望分頁網址長得像是http://example.com/schools/schoolTitle/2
。
所以我們再加入一條 urlManager 規則,這規則要比原先的規則權限更高,如下:
$config = [
// ...
'urlManager' => [
// ...
'rules' => [
'schools/<title:\w+>/<page:\d+>' => 'site/schools', // 新規則
'schools/<title:\w+>' => 'site/schools',
],
],
// ...