標題有點拗口,我也不知道這個標題合理不合理,總之意思呢,就是說,如何將模板文件中的數據處理邏輯進行分離,不要都是那些{query}。 話題來源:祝賀iws新版發佈,新論壇上線,順便瞎扯下近期二次開發iws的一些胡言亂語,管理員@nswe 在回覆中提到api.php爲View層減肥。
介紹一種方法:在classes/api/api_resource.php中添加一個方法,用來調用公告列表,可以默認指定10條,id倒序(看api.php源碼可知,order和limit都可以覆蓋,所以填一個常用的默認值即可)
複製代碼
1
2
3
4
5
6
|
'getNotice'
=> array ( 'query'
=> array ( 'name'
=> 'announcement' , 'order'
=> 'id desc' , 'fields'
=> 'id, title, time' , 'limit'
=> '10' )) |
複製代碼
1
2
3
4
5
|
< ul
class = "bulletin-list" > {foreach:items = Api::run('getNotice', 'id-', 5)} < li >< a
href = "{url:/site/notice_detail/id/$item[id]}"
title = "{$item['title']}" >{$item['title']}</ a ></ li > {/foreach} </ ul > |
貼一個默認模板裏面的一段代碼,調用最新5條公告,和上面一樣的功能的:
複製代碼
1
2
3
4
5
6
|
< ul
class = "list" > {query:name=announcement limit=5 order=id desc} {set:$tmpId=$item['id'];} < li >< a
href = "{url:/site/notice_detail/id/$tmpId}" >{$item['title']}</ a ></ li > {/query} </ ul > |