Manage menus through Lolita
Ruby JavaScript HTML CSS
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
config
lib
spec
test_orm
.document
.gitignore
.rspec
Gemfile
History.rdoc
LICENSE.txt
README.rdoc
Rakefile
VERSION
lolita-menu.gemspec

README.rdoc

Lolita Menu

Create, sort and publish menus with Lolita.

Instalation

In your project Gemfile put

gem 'lolita-menu'

And run

bundle install

Like with other Lolita gems call

rails g lolita:menu:install

Since this gem comes with migrations

rake db:migrate

Creating menu

To create Menu it's a good practise to do in your `db/seeds.rb`

menu = Menu.find_or_initialize_by_system_name('main_menu')
if menu.new_record?
  categories_menu.name = 'Main menu'
  categories_menu.save!
  [ 
    ['News', '/news'],
    ['Galleries', '/galleries'],
    ['About', '/about']
  ].each do |item|
    menu.append MenuItem.create!(:name => item.first, :url => item.last)
  end
  puts "=> Main menu created"
end

Using autocomplete

Before that you must follow Install instruction. To use autocomplete you need to add all possible url's in config/lolita-menu-urls.rb

Example

# This will add contacts url and all possible URL's from Page model.
Lolita::Menu::Urls.create do 
  add "/contacts", "Contacts"
  Pages.each do |page|
    add "/#{page.friendly_id}", page.title
  end
end

After that you can populate all from file in result file by executing

rake lolita_menu:generate_urls

If you want to add url when some of objects are created, then in your model add after_save or after_create callbacks and in related method add

Lolita::Menu::Urls.add("/link", "Label"), unfortuneately it's impossible to use routes helper methods unless you do your own workaround.

Enjoy!

Copyright

Copyright © 2011 ITHouse and Arturs Meisters. See LICENSE.txt for further details.