2

私はRefineryCMSを初めて使用しますが、Railsもかなり使用しません。私がやろうとしているのは、レイアウトファイルで同じヘッダーとフッターを使用し、CMSデータベースから取得される動的セクションでページごとに異なるマークアップを使用することです。

テンプレートの例:

<header>
...
</header>

# want to insert "home" page or "about" page here depending on url.

<footer>
...
</footer>

ホームページをテンプレートに挿入したい例:

<div>
  <%= raw @page.content_for(:body) %>
</div>

ページについてテンプレートに挿入したいものの例:

<div>
  <div>
    <div>
      <%= raw @page.content_for(:body) %>
    </div>
  </div>
</div>

CMSのwysiwygエディターでマークアップを追加せずに、ページごとにマークアップを変更するにはどうすればよいですか?

4

2 に答える 2

5

どのバージョンを使用していますか?

2.0.xを使用している場合、内部には2つのオプションがあります。config/initializers/refinery/pages.rb最初のオプションは。config.view_template_whitelistで、2番目のオプションはconfig.use_view_templates。です。

の場合、フォルダconfig.view_template_whitelist内のビューに一致するシンボルの配列を指定できapp/views/refinery/pages/ます(つまり、ある場合は、コントローラ内about_us.html.erbで言う場合と同じように、[:about_us]をホワイトリストに登録しrender :about_usます。

config.use_view_templatesホワイトリストからテンプレートを選択できるバックエンドのドロップダウンを有効にするには、単にtrueに設定する必要があります。

興味があれば、同じことを行うオプションもconfig.layout_template_whitelistありconfig.use_layout_templateますが、レイアウトがあります。

于 2012-05-31T05:32:58.567 に答える
0

レイアウト全体ではなくヘッダーを変更したい場合は、_header部分をオーバーライドできます。

cp  /var/lib/gems/1.8/gems/refinerycms-core-2.0.6/app/views/refinery/_header.html.erb  app/views/refinery/_header.html.erb

..次に、アプリケーションを編集app/views/refinery/_header.html.erbして再起動します(必要な場合)。

これにより、カスタムレイアウトを作成せずに、ナビゲーションメニューの上にヘッダー画像を配置できました。

于 2012-08-13T04:14:57.957 に答える