Refinery CMS中的自定义字段

时间:2011-11-11 16:44:27

标签: ruby-on-rails ruby content-management-system refinerycms

如何在Refinery CMS中添加自定义字段?也就是说,我想扩展基本页面模型以包含一些其他内容,例如截图,发布者名称,类别和各种其他字段。你是如何实现的?

2 个答案:

答案 0 :(得分: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

它扩展了Page模型,以便我的自定义字段由质量分配设置(感谢http://railsrx.com/2011/04/15/overriding-refinery-extending-globalize-and-pow/的require语句)。

现在创建文件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>

重新启动应用程序后,新字段处于活动状态。

答案 1 :(得分:2)

查看(优秀)炼油厂入门指南。在第6节中,指南介绍了如何使用引擎添加额外的字段 - 在示例日期,图片和模糊中:

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