1
我发现Google Groups中讨论过的同一个问题,但它引用的FAQ页面已经死了,最终的答案看起来与案例有关。在Refinery CMS中,如何将页面部分更改应用于现有页面?
我发现Google Groups中讨论过的同一个问题,但它引用的FAQ页面已经死了,最终的答案看起来与案例有关。在Refinery CMS中,如何将页面部分更改应用于现有页面?
事实证明,这很简单。在the solution given in the Google Groups thread之后,我使用了Rails控制台。为了将来的参考,以下是添加新页面部分并应用到所有现有页面的完整例程:
首先在您的炼油厂页面配置文件中添加新的页面页面。详细信息请参见Refinery docs。在这个例子中,我添加了一个名为“题词”的网页部分:
# Configure global page default parts
config.default_parts = ["Body", "Side Body", "Epigraph"]
# Configure whether to allow adding new page parts
config.new_page_parts = true
然后(如果你使用的是默认app\views\refinery\pages\show.html.erb
)以包括新的页面部分更新您的视图文件。在我的情况:
<div class="epigraph">
<%= raw @page.content_for(:epigraph) %>
</div>
然后,从rails console,为您添加的每个新页面部分运行此映射命令。在我的例子:
Refinery::Page.all.map {|p| p.parts.create(:title => "Epigraph", :position => 2) unless p.parts.exists?(:title => "Epigraph") }
我假设的位置参数指定到编辑页面的选项卡中,它从0开始计数,但没有绝对的把握的地方。