-
Notifications
You must be signed in to change notification settings - Fork 2
4. Rendering
Semantic navigation now has two helper method for render stuff:
- navigation_for
- {renderer_name}_for (from version 0.0.10)
- active_item_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 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