アトトックラボ

2012年5月20日

Refinery CMSのViewをオーバーライド

Posted by Yoichi Kurusaki

RefineryのViewをカスタマイズする場合はRefineryのViewをオーバーライドする。

ここを参考に、RefineryのViewをオーバーライドしてみる。

http://refinerycms.com/guides/overriding-views

_footer.htmlをオーバーライド

$ rake refinery:override view=refinery/_footer.html


app/views/refinery/_footer.html.erb がコピーされる。

<%= t('.copyright', :year => Time.now.year, :site_name => Refinery::Core.site_name) %>

$ rake refinery:override view=refinery/pages/show
$ rake refinery:override view=refinery/pages/home
$ rake refinery:override view=refinery/_content_page

app/views/refinery/_content_page.html.erb

<%= render_content_page(@page, {
      :hide_sections => local_assigns[:hide_sections],
      :can_use_fallback => !local_assigns[:show_empty_sections] && !local_assigns[:remove_automatic_sections]
    }) %>
<%= render :partial => '/refinery/draft_page_message' unless @page.nil? or @page.live? -%>

app/views/refinery/pages/show.html.erb

<%= render '/refinery/content_page' %>

app/views/refinery/pages/home.html.erb

<%= render '/refinery/content_page' %>

ヘッダーもコピー

$ rake refinery:override view=refinery/_head
requirement ["# 1.5.1"]
Copied view template file to app/views/refinery/_head.html.erb
Copied view template file to app/views/refinery/_header.html.erb

コントローラーも

$ rake refinery:override controller=page
Copied controller file to app/controllers/refinery/page_sweeper.rb
Copied controller file to app/controllers/refinery/pages_controller.rb