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 に答える