所以这就是我想要完成的,但我不知道从哪里开始:
我有以下页面结构:
在主页上,我想将 Publications 的每个子项显示为一个部分。这两个部分将是警报和本周新故事。然后,一个部分的最新发布的子项将在该部分中呈现。因此,在主页上,我将有以下部分和文章:警报 -> 2015 年 1 月 20 日东部的麻烦新闻故事 -> 国会对农业法案进行大修
我已经阅读了 CMS wiki,但我不知道如何处理这个问题。我是否使用标签和集合?
所以这就是我想要完成的,但我不知道从哪里开始:
我有以下页面结构:
在主页上,我想将 Publications 的每个子项显示为一个部分。这两个部分将是警报和本周新故事。然后,一个部分的最新发布的子项将在该部分中呈现。因此,在主页上,我将有以下部分和文章:警报 -> 2015 年 1 月 20 日东部的麻烦新闻故事 -> 国会对农业法案进行大修
我已经阅读了 CMS wiki,但我不知道如何处理这个问题。我是否使用标签和集合?
您需要创建一个部分才能使其正常工作。
在这里创建一个/app/views/comfy/cms/content/_section_list.html.erb
然后在主页的布局中添加{{cms:partial:section_list}}
到要显示部分的 html。
然后在_section_list.html.erb
做类似的事情:
<% @cms_page.children.each do |section| %>
<h1><%= section.blocks.where(identifier: 'header').first.content %></h1>
<%= section.children.first.blocks.where(identifier: 'content').first.content %>
<% end %>
注意:确保块标识符正确,我假设您在上面的代码段中有一个header
和content
。
Publication
在使用定义部分标签的cms 布局中{{ cms:partial:foo/bar/articles }}
在该部分内部,您将可以访问@cms_page
. 现在你可以渲染出来了。
@cms_page.children
会给你Alerts
和News Story of the Week
页面。然后您可以获取这些页面的第一个子页面。
它acts_as_tree
在后面使用,所以非常简单。