| Class | MenuStyles::HorizontalMenuStyle |
| In: |
lib/webgen/plugins/menustyles/horizontal.rb
|
| Parent: | DefaultMenuStyle |
# File lib/webgen/plugins/menustyles/horizontal.rb, line 41
41: def internal_build_menu( src_node, menu_tree )
42: unless defined?( @css_added )
43: @plugin_manager['Core/ResourceManager'].append_data( 'webgen-css', "
44: /* START webgen horizontal menu style */
45: .webgen-menu-horiz ul { display: block; }
46: .webgen-menu-horiz li { display: inline; }
47: /* STOP webgen horizontal menu style */
48: " )
49: @css_added = true
50: end
51: "<div class=\"webgen-menu-horiz #{param('divClass')}\">#{submenu( src_node, menu_tree, 1 )}</div>"
52: end
# File lib/webgen/plugins/menustyles/horizontal.rb, line 58
58: def submenu( src_node, menu_node, level )
59: if menu_node.nil? \
60: || level > param( 'maxLevels' ) + param( 'startLevel' ) - 1 \
61: || src_node.level < param( 'startLevel' ) \
62: || !src_node.in_subtree_of?( menu_node.node_info[:node] )
63: return ''
64: end
65:
66: submenu = ''
67: out = "<ul>"
68: menu_node.each do |child|
69: submenu << (child.has_children? ? submenu( src_node, child, level + 1 ) : '')
70: style, link = menu_item_details( src_node, child.node_info[:node] )
71: out << "<li#{style.to_s.empty? ? '' : ' ' + style}>#{link}</li>"
72: end
73: out << "</ul>"
74: out << submenu
75:
76: if level < param( 'startLevel' )
77: '' + submenu
78: else
79: out
80: end
81: end