helper methods will also render tags

Oleg committed May 05, 2011
commit a47d1a53564f21f8a413eb371d4353d595e52fcb
Showing 2 changed files with 14 additions and 2 deletions
comfortable_mexican_sofa/view_methods.rb b/lib/comfortable_mexican_sofa/view_methods.rb +2 -2
@@ @@ -25,7 +25,7 @@ module ComfortableMexicanSofa::ViewMethods
def cms_snippet_content(snippet_slug, cms_site = nil)
return '' unless cms_site ||= (@cms_site || Cms::Site.find_by_hostname!(request.host.downcase))
return '' unless snippet = cms_site.snippets.find_by_slug(snippet_slug)
- snippet.content.to_s.html_safe
+ ComfortableMexicanSofa::Tag.process_content(Cms::Page.new, snippet.content).html_safe
end
# Content of a page block. This is how you get content from page:field
@@ @@ -35,7 +35,7 @@ module ComfortableMexicanSofa::ViewMethods
def cms_page_content(block_label, page = nil)
return '' unless page ||= @cms_page
return '' unless block = page.blocks.find_by_label(block_label)
- block.content.to_s.html_safe
+ ComfortableMexicanSofa::Tag.process_content(page, block.content).html_safe
end
end
test/unit/view_methods_test.rb +12 -0
@@ @@ -9,6 +9,12 @@ class ViewMethodsTest < ActiveSupport::TestCase
assert_equal '', cms_snippet_content('not_found', cms_sites(:default))
end
+ def test_cms_snippet_cotnent_with_tags
+ snippet = cms_snippets(:default)
+ snippet.update_attribute(:content, 'content {{cms:helper:test}}')
+ assert_equal 'content <%= test() %>', cms_snippet_content(:default, cms_sites(:default))
+ end
+
def test_cms_page_content
assert_equal 'default_field_text_content', cms_page_content('default_field_text', cms_pages(:default))
assert_equal '', cms_page_content('default_field_text')
@@ @@ -18,4 +24,10 @@ class ViewMethodsTest < ActiveSupport::TestCase
@cms_page = nil
end
+ def test_cms_page_content_with_tags
+ block = cms_blocks(:default_field_text)
+ block.update_attribute(:content, 'content {{cms:helper:test}}')
+ assert_equal 'content <%= test() %>', cms_page_content(:default_field_text, cms_pages(:default))
+ end
+
end
\ No newline at end of file