标题有点拗口,我也不知道这个标题合理不合理,总之意思呢,就是说,如何将模板文件中的数据处理逻辑进行分离,不要都是那些{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
>
|