Skip to content
Sergey Gribovski edited this page Oct 28, 2013 · 5 revisions

Semantic navigation now has two helper method for render stuff:

  • navigation_for
  • {renderer_name}_for (from version 0.0.10)
  • active_item_for

navigation_for

Renders some navigation menu with some renderer (default = :list), and with external options as level. Also can overwrite default renderer styles. Usage of navigation_for helper method and aliased helper methods (only from version 0.0.10) is:


= navigation_for menu_name, optional_params
= {renderer_name} menu_name, optional_params (from version 0.0.10)

For example:


= navigation_for :main, :levels => 1..2
= list_for :main, :levels => 1..2 (from version 0.0.10)

That means that will be rendered menu main with levels 1 and 2.

Optional params

Optional params are:

  • from_level - renders the whole menu from defined level. For example:

= navigation_for :main, :from_level => 2
= list_for :main, :from_level => 2 (from version 0.0.10)

Means that will be rendered the whole menu main from level 2

  • until_level - renders the whole menu until defined level Example:

= navigation_for :main, :until_level => 2
= list_for :main, :until_level => 2 (from version 0.0.10)
* `levels` - renders some levels. That option is wrapper for `from_level` and `until_level`. Gets the `Range` as value.
For example:

= navigation_for :main, :levels => 1..2
= list_for :main, :levels => 1..2 (from version 0.0.10)

Is the same as:


= navigation_for :main, :from_level => 1, :until_level => 2
= list_for :main, :from_level => 1, :until_level => 2 (from version 0.0.10)
  • level - renders some defined level. That option is wrapper for from_level and until_level. Gets the Fixnum as value. For example:

= navigation_for :main, :level => 1
= list_for :main, :level => 1 (from version 0.0.10)

Is the same as:


= navigation_for :main, :from_level => 1, :until_level => 1
= list_for :main, :from_level => 1, :until_level => 1 (from version 0.0.10)
  • except_for - gets the Symbol as value. Renders whole menu except for some item. Fore example:

= navigation_for :main, :except_for => :first_item
= list_for :main, :except_for => :first_item (from version 0.0.10)

Where :first_item is an id of item.

  • as - sets the rendering class. For example:

= navigation_for :main, :as => :bootstrap_list
= bootstrap_list_for :main (from version 0.0.10)

See the list of renderers for more details

You can use multiple options for rendering:


= navigation_for :main, :from_level => 2, :except_for => :some_item, :as => bootstrap_breadcrumb
= bootstrap_breadcrumb_for :main, :from_level => 2, :except_for => :some_item (from version 0.0.10)

Overwriting of render default styles

You can overload a default rendering styles, just by passing them as a parameter for render method:


= navigation_for :main, :navigation_default_classes => [:navigation, :default]
= list_for :main, :navigation_default_classes => [:navigation, :default] (from version 0.0.10)

Look at the whole list of default styles to learn more.

active_item_for

Renders the name of active item. Usage:


active_item_for menu name, level

Example:


active_item_for :main, 1

You can also render the last active item name. When you shouldn't define the level. Example:


active_item_for :main

This will render last active item in menu tree.

From version 0.1.3 you can pass block to the method, so you can use it like


active_item_for :main do |item|
  %i{class=item.icon}
  item.name
end