【问题标题】:How do i override the views of the "Images" tab of RefineryCMS' admin area?如何覆盖 RefineryCMS 管理区域的“图像”选项卡的视图?
【发布时间】:2011-12-13 07:33:33
【问题描述】:

是否有可能覆盖 RefineryCMS 的管理界面? 目前我正在开发基于 RefineryCMS + 投资组合插件的在线投资组合。 我基本上想显示添加图像标题和描述,可悲的是缺少。 幸运的是,我找到了如何将此类功能破解到管理区域的说明,但我只是不知道如何覆盖“供应商/插件”文件夹中的那些视图文件。

这是我找到的说明的链接:

http://groups.google.com/group/refinery-cms/browse_thread/thread/929d7462cf075189?pli=1

我知道本指南是为 Rails 2 和以前版本的 RefineryCMS 编写的,所以事情可能已经改变,可能我必须完全不同。

提前致谢。

...我真的很想知道为什么他们仍然没有在插件中实现这些功能。

【问题讨论】:

  • 如果我回答了您的问题(如下),请将其标记为已接受 - 谢谢!

标签: ruby-on-rails ruby ruby-on-rails-3 refinerycms


【解决方案1】:

为什么这些默认情况下不添加到投资组合扩展中的答案是,投资组合背后的核心团队没有发现它们有用的案例。我们依靠补丁来改进或添加确实遇到这种需求的人的功能。 an open issue 目前还没有人真正想出解决方案。

至于实现本身;要覆盖您要覆盖的文件,您必须使用任务“bundle exec rake refinery:override”(using this post as reference),如下所示:

bundle exec rake refinery:override view=portfolio/_main_image
bundle exec rake refinery:override view=portfolio/show

这会将模板放在 app/views/portfolio/ 中,以便您可以修改其内容。

您还必须将迁移语法从 rails 2 更改为 rails 3,因此不是“script/generate”而是“rails generate”。

由于图像扩展默认使用“attr_accessible”以确保安全,因此您必须在 config/application.rb 之类的地方使用以下代码:

# Make the title and body fields added to Image accessible for mass assignment
config.to_prepare do
  Image.send :attr_accessible, :title
  Image.send :attr_accessible, :body
end

如果您想澄清这些,或者我没有完全满意地回答您的问题,请告诉我,我会详细说明。

编辑:

如果您想覆盖图像的后端视图,只需遵循相同的过程,但对于后端视图:

bundle exec rake refinery:override view=admin/images/_form

现在只需添加相同格式的字段:

<div class='field'>
  <%= f.label :title %>
  <%= f.text_field :title %>
</div>
<div class='field'>
  <%= f.label :body %>
  <%= f.text_area :body, :class => 'wymeditor widest' %>
</div>

因为您已经添加了 attr_accessible 代码,所以它会很好地保存。

如果这不是你想要的,请告诉我。

菲尔

【讨论】:

  • 感谢您的详细解答。我已经意识到使用炼油厂命令行工具覆盖视图的可能性,但我无法访问管理面板的内部视图,我想在其中添加必要的表单字段。因此,现在我的解决方案是让管理员用户将额外信息直接放入文件名中,如下所示:“Title.Oil_on_canvas.30x30.jpg”。然后我目前在视图中解析这个字符串。
  • 如果管理员用户或至少开发人员可以在页面和图像中添加额外的字段,那就太棒了。我认为这将使 Refinery 成为更灵活的 CMS。
  • 对不起,我是根据你链接的内容来回答的。我会适当地更新我的答案。您可以覆盖所有内容(Refinery 是一个非常灵活的 CMS)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-02
  • 1970-01-01
  • 2013-12-03
  • 2016-05-15
  • 1970-01-01
相关资源
最近更新 更多