adding a form hook for pages

Oleg committed Nov 18, 2010
commit 950c0d1e122c4df51d4066ee3929a22d2c0d77ff
Showing 3 changed files with 7 additions and 4 deletions
app/views/cms_admin/pages/_form.html.erb +1 -0
@@ @@ -13,6 +13,7 @@
<% if (options = CmsPage.options_for_select(@cms_site, @cms_page, nil, 0, false)).present? %>
<%= form.select :target_page_id, options, :include_blank => true, :label => 'Redirect To Page' %>
<% end %>
+ <%= cms_hook :page_form, :object => form %>
</div>
<%= render :partial => 'form_blocks' %>
comfortable_mexican_sofa/view_hooks.rb b/lib/comfortable_mexican_sofa/view_hooks.rb +4 -2
@@ @@ -6,8 +6,10 @@ module ComfortableMexicanSofa::ViewHooks
end
# Renders hook content
- def self.render(name, template)
- template.render :partial => self.hooks[name.to_sym] if self.hooks[name.to_sym]
+ def self.render(name, template, options = {})
+ if self.hooks[name.to_sym]
+ template.render({:partial => self.hooks[name.to_sym]}.merge(options))
+ end
end
# Will declare a partial that will be rendered for this hook
comfortable_mexican_sofa/view_methods.rb b/lib/comfortable_mexican_sofa/view_methods.rb +2 -2
@@ @@ -16,8 +16,8 @@ module ComfortableMexicanSofa::ViewMethods
end
# Injects some content somewhere inside cms admin area
- def cms_hook(name)
- ComfortableMexicanSofa::ViewHooks.render(name, self)
+ def cms_hook(name, options = {})
+ ComfortableMexicanSofa::ViewHooks.render(name, self, options)
end
# Content of a snippet. Example: