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開始計數,但沒有絕對的把握的地方。