案例:搜尋結果排序

本案例為待實現功能,所以主要為描述我的思考方式。

當前設置

  1. 後端設定一頁顯示商品數,並透過前者實現分頁功能
  2. 後端渲染完 ajax 內容後一次吐回前端
  3. 前端 pjax 會根據頁面狀況(history? direct access url? search bar ajax?)決定是否 reload page

見控制器 $path: your_workspace/syf/mass/application/controllers/PublicCtl.php

功能優化及新增思考方向

  1. 往單頁面應用靠攏
  2. 後端只透過 json 與前端交換資料
  3. 前端結合樣版與 json 資料作渲染,並在前端樣版實現過濾功能

    過濾功能:類目過濾、分類快選詞

  4. 同 3 ,前端樣版實現排序功能

    可參考類目頁的版面;BTW, 類目頁是透過 list.js 實現

類目頁的排序與分類快選

或者要透過後端硬幹

後端可以 SQL query sort 或後端程式(如php) 排序後取得的資料,再吐給前端。

其他說明與建議

  1. 時間與能力許可的話,建議重構搜尋頁 ajax 的內容乃至 ajax 前 rwd_header_search.html;以更佳的方式重構去取代條件式 relaod 當前 page.
  2. 重構基於 pjax 搜尋的 search_mass.php 並增強搜尋頁的 SEO
  3. 移除原本 search.php 的舊式(2016年)的搜尋功能,只保留 pjax 的接口

results matching ""

    No results matching ""