0

在 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”中的所有文章填充内容框,这些文章按 article prop 反向排序year

它工作正常,但是否可以保存对内容框所做的更改,tornado.small_articles以便从 GUI 中也可以看到生成的文章列表?像Service.tornado.saveChangesToPageContentBox(page, content_box_nr, tornado.small_articles);什么?

4

1 回答 1

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));
}

您不应该对给定页面的每个请求都执行此操作,而应在内容更改或其他一些不太频繁的标准时更新列表。

于 2012-06-06T11:08:30.087 回答