案例:搜尋結果排序
本案例為待實現功能,所以主要為描述我的思考方式。
當前設置
- 後端設定一頁顯示商品數,並透過前者實現分頁功能
- 後端渲染完 ajax 內容後一次吐回前端
- 前端 pjax 會根據頁面狀況(history? direct access url? search bar ajax?)決定是否 reload page
見控制器 $path: your_workspace/syf/mass/application/controllers/PublicCtl.php
功能優化及新增思考方向
- 往單頁面應用靠攏
- 後端只透過 json 與前端交換資料
前端結合樣版與 json 資料作渲染,並在前端樣版實現過濾功能
過濾功能:類目過濾、分類快選詞
同 3 ,前端樣版實現排序功能
可參考類目頁的版面;BTW, 類目頁是透過
list.js實現

或者要透過後端硬幹
後端可以 SQL query sort 或後端程式(如php) 排序後取得的資料,再吐給前端。
其他說明與建議
- 時間與能力許可的話,建議重構搜尋頁 ajax 的內容乃至 ajax 前 rwd_header_search.html;以更佳的方式重構去取代條件式 relaod 當前 page.
- 重構基於 pjax 搜尋的 search_mass.php 並增強搜尋頁的 SEO
- 移除原本 search.php 的舊式(2016年)的搜尋功能,只保留 pjax 的接口