如何在tornado.no/cms中存储对页面的更改?

时间:2012-06-05 14:04:16

标签: groovy

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

这样的东西

1 个答案:

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

您不应该对给定页面的每个请求执行此操作,而是在内容更改时更新列表或通过其他一些不太常见的条件更新列表。