アルパカDiary Pro

はてなブログProではありません

Redmineカスタマイズその5 wikiのサイドバーを好きなように編集

続けてカスタマイズその5。
今回はwikiのサイドバーに、wikiページをインクルードして
自在にWikiサイトマップなどを編集できるようにしてみます。


変更するソースは2つですが、修正箇所はごく僅か。

$RAILS_ROOT/app/views/wiki/_sidebar.rhtml

--- /var/www/html/redmine-0.8.0_RC1/app/views/wiki/_sidebar.rhtml-org   2008-12-07 20:10:25.000000000 +0900
+++ /var/www/html/redmine-0.8.0_RC1/app/views/wiki/_sidebar.rhtml       2008-12-14 00:56:02.000000000 +0900
@@ -3,3 +3,6 @@
 <%= link_to l(:field_start_page), {:action => 'index', :page => nil} %><br />
 <%= link_to l(:label_index_by_title), {:action => 'special', :page => 'Page_index'} %><br />
 <%= link_to l(:label_index_by_date), {:action => 'special', :page => 'Date_index'} %><br />
+<br />
+<%= render(:partial => "wiki/content", :locals => {:content => @sidebar_wiki.content}) if @sidebar_wiki %>
+

$RAILS_ROOT/app/controllers/wiki_controller.rb

--- /var/www/html/redmine-0.8.0_RC1/app/controllers/wiki_controller.rb-org      2008-12-07 20:10:22.000000000 +0900
+++ /var/www/html/redmine-0.8.0_RC1/app/controllers/wiki_controller.rb  2008-12-14 00:57:39.000000000 +0900
@@ -27,6 +27,7 @@

   # display a page (in editing mode if it doesn't exist)
   def index
+    @sidebar_wiki= @wiki.find_page("sidebar")
     page_title = params[:page]
     @page = @wiki.find_or_new_page(page_title)
     if @page.new_record?

コントローラーで「sidebar」というwikiページのインスタンスを保存し、
ビューでそのwikiページをサイドバーに表示しています。


あとはwikiページを作るだけ!


まず、以下のように「sidebar」という新規ページを作成します。

そして、sidebarページを好きなように編集しましょう。

するとサイドバーに「sidebar」ページがそのまま表示されます!

普通に段落使うと右に寄り過ぎな気がしてしまうので、
全角スペースなどで段落するか、CSSを編集して対応しましょう。