トップメニュー、プロジェクトメニューのアイコン設定について

386 views
Skip to first unread message

num.ami...@gmail.com

unread,
Jul 25, 2013, 3:49:13 AM7/25/13
to redmine-...@googlegroups.com
お世話になっております。

トップメニュー、プロジェクトメニューに表示されるプラグインに対してアイコンの
設定をしたいと思っているのですが、どのように設定したらよいのでしょうか。

asset/images に画像ファイルを入れてー
cssでクラス定義してー
「:class => 'icon icon-XXX'」こんな感じで使いましょー

ってのはググってみたのですが、そもそもトップメニュー、プロジェクトメニューは
プラグイン側で作ってるところではないと思いますので、init.rb のメニュー定義
箇所に、物は試しと「:class => 'icon icon-test'」を追加してみたものの、
全く反映されず、頭を抱えている状況です。

何卒、ご教授の程よろしくお願い致します。

num.ami...@gmail.com

unread,
Jul 26, 2013, 4:59:05 AM7/26/13
to redmine-...@googlegroups.com
続報になります。

redmine_knowledgebaseにおいて、init.rb 内の以下赤文字部分を変更した場合にアイコンが表示されました。
が、しかし、これって他に影響ないですかね。。。?

<修正後>
  menu :top_menu, 'icon icon-test', { :controller => 'knowledgebase', :action => 'index' }, :caption => :knowledgebase_title,
:if =>  Proc.new {
User.current.allowed_to?({ :controller => 'knowledgebase', :action => 'index' }, nil, :global => true) ||
Setting['plugin_redmine_knowledgebase']['knowledgebase_anonymous_access'].to_i == 1
}

<修正前>
  menu :top_menu, :knowledgebase, { :controller => 'knowledgebase', :action => 'index' }, :caption => :knowledgebase_title,
:if =>  Proc.new {
User.current.allowed_to?({ :controller => 'knowledgebase', :action => 'index' }, nil, :global => true) ||
Setting['plugin_redmine_knowledgebase']['knowledgebase_anonymous_access'].to_i == 1
}

赤字部分は、
menu(menu, item, url, options={})
の item に該当する部分だと思われますが、何に使用されているのか分からず
安易に修正するわけにもいかないなと。
ご存知の方がいらっしゃいましたらご教授頂けませんでしょうか。

以上、よろしくお願い致します。


2013年7月25日木曜日 16時49分13秒 UTC+9 num.ami...@gmail.com:

num.ami...@gmail.com

unread,
Jul 29, 2013, 10:56:10 PM7/29/13
to redmine-...@googlegroups.com
さらに続報です。

・assets/image に画像ファイル追加
・assets/stylesheets/knowledgebase.css に以下を追記

.icon {
    background-position: 0% 40%;
    background-repeat: no-repeat;
    padding-left: 20px;
    padding-top: 2px;
    padding-bottom: 3px;
}
.icon-knowledgebase{ background-image: url(../images/Database.png); }
 
・init.rb を以下の様に変更

  #menu :top_menu, :knowledgebase, { :controller => 'knowledgebase', :action => 'index' }, :caption => :knowledgebase_title,
  menu :top_menu, 'icon icon-knowledgebase', { :controller => 'knowledgebase', :action => 'index' }, :caption => :knowledgebase_title,

としたところ、knowledgebase のページでは正しくアイコンが表示されるのですが
その他のページではアイコンが表示されませんでした。

これはどのような状態になってしまっているのでしょう。
トップメニューへのアイコン追加は難しいということでしょうか。


2013年7月26日金曜日 17時59分05秒 UTC+9 num.ami...@gmail.com:

num.ami...@gmail.com

unread,
Jul 30, 2013, 12:16:34 AM7/30/13
to redmine-...@googlegroups.com
度々すみません。

とりあえず、「Redmineの標準ソースに手を入れずに実装する方法があるのか」だけでも
ご存知の方がいらっしゃいましたらご教授頂けませんでしょうか。

以上、よろしくお願い致します。


2013年7月30日火曜日 11時56分10秒 UTC+9 num.ami...@gmail.com:

num.ami...@gmail.com

unread,
Aug 9, 2013, 3:15:05 AM8/9/13
to redmine-...@googlegroups.com
自己解決しました。

プラグイン側ではなく、テーマとして以下の様な記述を行ったところ
問題なく表示されました。

public/themes/test/stylesheets/application.css
@import url(../../../stylesheets/application.css);
 
#top-menu a.knowledgebase {
    background-image: url(../images/Database.png)
}

以上、ご報告まで。

2013年7月30日火曜日 13時16分34秒 UTC+9 num.ami...@gmail.com:
Reply all
Reply to author
Forward
0 new messages