Class Tags::BlockTag
In: lib/webgen/plugins/tags/block.rb
Parent: DefaultTag
DefaultTag MetaTag BreadcrumbTrailTag RelocatableTag IncludeFileTag DateTag LangbarTag WikiLinkTag SitemapTag ResourceTag ExecuteCommandTag CustomVarTag BlockTag MenuTag DownloadTag HtmlMetaInfo Webgen::Plugin TagProcessor lib/webgen/plugins/tags/date.rb lib/webgen/plugins/tags/menu.rb lib/webgen/plugins/tags/sitemap.rb lib/webgen/plugins/tags/wikilink.rb lib/webgen/plugins/tags/executecommand.rb lib/webgen/plugins/tags/langbar.rb lib/webgen/plugins/tags/breadcrumbtrail.rb lib/webgen/plugins/tags/includefile.rb lib/webgen/plugins/tags/relocatable.rb lib/webgen/plugins/tags/meta.rb lib/webgen/plugins/tags/htmlmetainfo.rb lib/webgen/plugins/tags/download.rb lib/webgen/plugins/tags/block.rb lib/webgen/plugins/tags/tag_processor.rb lib/webgen/plugins/coreplugins/resourcemanager.rb lib/webgen/plugins/tags/customvar.rb Tags dot/m_29_0.png

Substitutes the tag with an actual content block.

Methods

Public Instance methods

[Source]

    # File lib/webgen/plugins/tags/block.rb, line 40
40:     def process_tag( tag, chain )
41:       block_node = (chain.length > 1 ? chain[1] : chain[0])
42:       block_name = param( 'blockName' )
43:       if block_node.node_info[:pagedata].blocks.has_key?( block_name )
44:         if block_node['useERB']
45:           node = chain.last
46:           ref_node = block_node
47:           begin
48:             content = block_node.node_info[:pagedata].blocks[block_name].render_with_erb( binding )
49:           rescue
50:             log(:error) { "Error while running ERB on <#{block_node.node_info[:src]}> (block '#{block_name}'): #{$!.message}" }
51:             content = ''
52:           end
53:         else
54:           content = block_node.node_info[:pagedata].blocks[block_name].content
55:         end
56:         [content, (chain[1..-1].empty? ? chain : chain[1..-1]) ]
57:       else
58:         log(:error) { "Node <#{block_node.node_info[:src]}> does not contain a block called '#{block_name}'" }
59:         ''
60:       end
61:     end

[Validate]