本文主要是在基于ThinkPHP5和前端架構layui開發的内容管理系統中,利用thinkPHP5的api特性和layui的資訊流加載實作文章的自動加載,即清單不分頁,自動加載下一頁資訊。關于thinkPHP5和layui的更多内容,請移步閱讀官方文檔,也可在本站搜尋一下,應該還要一些相關内容,更多内容正在補充中。
本例中場景為:網站首頁預設加載10篇文章,往下拖動滾動條,自動再加載10篇文章,直至展示完所有文章為止。
首先,實作首頁控制器IndexController,讀取10篇文章,并展示出來,控制器關鍵代碼如下:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5CM3kTMxUDO0AjYldTOjVmY2E2NlVjY3QDNmZDO3IDOy8CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
上述代碼中使用到了資料庫的查詢緩存操作cache,cache可以用于select、find、value和column等方法,以及其衍生方法,使用cache方法後,在緩存有效期之内通路頁面将不會進行資料庫查詢操作,而是直接擷取緩存中的資料。關于thinkPHP5緩存問題的更多内容請檢視thinkPHP5文檔。
然後,将預設查出的資料在頁面中進行展示,相關的關鍵代碼如下:
thinkPHP5的内置标簽——foreach循環标簽
foreach是thinkPHP5模闆的内置标簽,用法和PHP文法非常接近,用于循環輸出數組或者對象的屬性,不多介紹,用過ThinkPHP3的朋友們也應該知道,是一樣的。
第三,在首頁的HTML模闆中,使用layui的流加載子產品對上述代碼中articles容器進行渲染,關鍵代碼如下:
layui的流加載子產品對articles容器進行渲染的關鍵代碼
layui的流加載子產品包含了資訊流加載、圖檔懶加載兩大核心,對服務端和前端體驗,都有比較不錯的提升,關于layui流加載的更多内容請檢視layui官方文檔,也給賢心大神送些流量吧。
第四,實作資訊流加載的ajax請求,從伺服器擷取下一頁資料,我在index控制器中通過get_article_flow()方法實作,關鍵代碼如下:
簡單明了,直接return查到的資料。好了,看下一最終效果:
layui資訊流加載結束的效果
相關連結:
基于ThinkPHP5,實作layui架構的富文本編輯器插入圖檔接口
這是一段可以監聽所有form表單送出的js代碼
ThinkPHP5、内容管理系統、前端架構layui、layPage子產品
前端|Layui架構實作多檔案上傳并攜帶額外參數送出到背景
基于PHP架構ThinkPHP5,示範UI架構Layui的表單驗證及監聽submit送出