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 | |