在tornado-cms页面的控制器中,我执行以下操作:
def res = Service.tornado.articles([ articleCategoryPath: "boker/ny"]);
Service.tornado.loadFullArticles(res);
res.sort { a,b ->
b.props.year <=> a.props.year
}
tornado.small_articles = res;
或者,更短:
tornado.small_articles = Service.tornado.articles([
articleCategoryPath: "boker/ny",
full: true ])
.sort { a, b -> b.props.year <=> a.props.year };
这会将内容框small_articles
填入特定文件夹“boker / ny”中的所有文章,并按文章道具year
进行反向排序。
它工作正常,但是是否可以保存对内容框tornado.small_articles
所做的更改,以便从GUI中看到生成的文章列表?像Service.tornado.saveChangesToPageContentBox(page, content_box_nr, tornado.small_articles);
?
答案 0 :(得分:0)
首先删除当前绑定到small_articles框的文章,如下所示:
Integer containerId = <id-of-small-articles-container>;
Service.tornado.getPageBindings(page.id).each { binding ->
if (binding.containerId == containerId)
Service.tornado.deletePageBinding(binding);
}
然后为您收集的文章添加新的绑定:
tornado.small_articles.each {
Service.tornado.addPageBinding(new ArticlePageContainer(page.id, it.id, containerId));
}
您不应该对给定页面的每个请求执行此操作,而是在内容更改时更新列表或通过其他一些不太常见的条件更新列表。