0

Refinery CMSにカスタムフィールドをどのように追加しますか?つまり、基本的なページモデルを拡張して、スクリーンショット、発行者名、カテゴリ、その他のさまざまなフィールドなど、他の多くのものを含めたいと思います。それをどのように実装しますか?

4

2 に答える 2

7

製油所の基本モデルを拡張するために、エンジンを生成することが常にオプションであるとは限りません。

ページモデルを日付フィールドで展開しました

  • ページテーブルを移行する
  • モンキーパッチページモデル
  • フォームにパーシャルを追加(実際には展開)します

詳細に:

rails g migration AddDateToPage event_date:date
rake db:migrate

app / models/page.rbを追加します

require Refinery::Pages::Engine.config.root + 'app' + 'models' + 'page'
class Page
  attr_accessible :event_date
end

ページモデルを拡張して、カスタムフィールドが一括割り当てによって設定されるようにします(requireステートメントについてはhttp://railsrx.com/2011/04/15/overriding-refinery-extending-globalize-and-pow/に感謝します)。

次に、製油所から提供されたスタブであるファイルapp / views / admin / pages/_form_fields_after_title.html.erbを作成します。で作成することもできます

rake refinery:override view=admin/pages/_form_fields_after_title

ここでフォームフィールドを定義しました(fは製油所によってform_forオブジェクトで設定されます)

<div class="field">
  <%= f.label :event_date, t('admin.pages.event_date') %>
  <%= f.text_field :event_date %>
</div>

アプリケーションを再起動すると、新しいフィールドがアクティブになります。

于 2012-03-21T13:59:22.790 に答える
2

(優れた)製油所入門ガイドをご覧ください。セクション6では、ガイドは、エンジンを使用してフィールドを追加する方法(日付、画像、宣伝文の例)を示しています。

http://refinerycms.com/guides/getting-started-with-refinery#extending-refinery-with-your-first-engine

于 2011-11-11T18:19:10.897 に答える