2014-03-19 67 views
0

如何在我的Redmine wiki页面中获得wiki标题?在我的Redmine wiki页面中获取wiki标题

我得到context[:project].identifier项目的名称,我试图context[:wiki]但它不工作...

我使用的管理平台1.4.4,在这里我的代码:

EDIT: # my_plugin/lib/hooks.rb 

class MkdocHookListener < Redmine::Hook::ViewListener 
    def view_layouts_base_content(context={}) 
    @content = "" 
    if context[:controller].is_a?(WikiController) 
     @content << "<br/>projet =" 
     @content << context[:project].identifier 
    end 
    return content_tag("p align='right'", @content) 
    end 
end 

# myplugin/init.rb: 

require 'redmine' 
require_dependency 'hooks' 

Redmine::Plugin.register :my_plugin do 
    ... 
end 

谢谢!

编辑:我只想在wiki页面上获得wiki标题,然后我可以使用我自制的插件。

+0

这是[钩列表](http://www.redmine.org/projects/redmine/wiki/Hooks_List)和' view_layouts_base_content'根本没有内容。你为什么试图用这个钩子修补Redmine?我认为这是在所有页面(或几乎所有页面)上调用的普通钩子。你想在非维基页面上找到什么维基标题?我在维基页面找不到任何钩子。也许尝试替代方式来修补。当无法通过钩子工作时,我使用了gem'deface'。见[this](https://github.com/twinslash/redmine_better_journal/commit/c726266068e3a7ff56ff6947dd244070cbaf6741) – gotva

+0

坦克回答。我编辑我的问题。 我同意,这是一个在所有页面上调用的普通钩子巫婆,但我只想在维基页面上显示它。所以我添加一个条件,它的工作原理。但我仍然无法获得Wiki页面上的wiki标题... – EloHailwidis

+0

您可以尝试从[action](https://github.com/redmine/redmine/)获取访问权限(我希望可以) blob/1.4-stable/app/controllers/wiki_controller.rb#L58)(例如'show'):'@ page','@ content'。你可以检查它们是否可用。并尝试从他们获得标题。 – gotva

回答

0

我终于明白了! 这不是一个很好的办法......但它的工作原理...

@url = context[:request].env["REDIRECT_URL"] 
@url = @url.to_s.split('/') 
@length = @url.length - 1 
@title = @url[@length]