[@InfoList nodeId=node.id isIncludeChildren='true';list]
[#list list as info]
<a href="${info.url}">${info.name}</a>
[/#list]
[/@InfoList]
上面的循环节点把当前栏目下的所有文档都循环出来了,文档比较多时会比较慢,卡顿,我想做一个懒加载处理,当下拉到一定程度的时候去加载指定条数的文档,有没有方法??
可以的。在页面上使用ajax发送一个请求,得到json数据,然后把json渲染到页面上。
这需要使用到自由模板。新建一个自由模板如:/template/1/default/app_abc.html
,对应的请求地址是/app?template=abc
。
按你的情况,需要通过栏目ID获取数据,可传一个栏目ID参数;再加上从第几条开始取数,以及取多少条。完整的请求如:/app?template=abc&nodeId=123&offset=10&limit=5
。在模板中可以使用Param.nodeId
Param.offset
Param.limit
获取参数。
模板/template/1/default/app_abc.html
的内容大致如下:
[
[@InfoList nodeId=Param.nodeId! offset=Param.offset! limit=Param.limit! isIncludeChildren='true';infos]
[#list infos as info]
{
"title":"${info.title?js_string}",
"url":"${info.url?js_string}"
}[#if info_has_next],[/#if]
[/#list]
[/@InfoList]
]
相关文档:模版制作06:app自由模版