2008年12月3日

Redmine トップメニューをカスタマイズする

トップにチケット一覧を表示するメニューがほしかったので追加した。
これ本番ですか? Redmineリンク追加 を参考にした。

redmine-0.7.3/lib/redmine.rb の 96行目あたりから始まる MenuManager.map :top_menu do |menu| を修正する。(一番下の行を追加)

Redmine::MenuManager.map :top_menu do |menu|
menu.push :home, :home_path, :html => { :class => 'home' }
menu.push :my_page, { :controller => 'my', :action => 'page' }, :html => { :class => 'mypage' }, :if => Proc.new { User.current.logged? }
# チケット
menu.push :issues, { :controller => 'issues', :action => 'index', :query_id => '2' }, :caption => :label_issue_plural


カスタムクエリを追加する場合は以下のように :query_id => x を追加すればいい。
  menu.push :issues, { :controller => 'issues', :action => 'index', :query_id => '2' }, :caption => :label_issue_plural


活動を追加するには以下を追加する
  menu.push :activity, { :controller => 'projects', :action => 'activity' }


ホームを任意のプロジェクトのメインwikiに変更するには redmine-0.7.3/routes.rb を修正する。9行目あたり、map.home ...を以下のように変更する。:id はプロジェクトID。
  #map.home '', :controller => 'welcome'
map.home 'wiki/:id/:page/:action', :controller => 'wiki', :id => 'tetu', :page => nil


特定のwiki名にするなら:pageを変更すればいいと思う。