2013-12-14 63 views
1

自定义浮动工具栏是否有可能使每个页面的顶部浮动(其即使你向下滚动总是在那里)自定义工具栏在Mediawiki的有以下按钮/功能:"home page""previous page""next page""reload page""search"用于链接到MediaWiki

东西有点像这样:

enter image description here

回答

2

是的,这是可能的。

我打算假设您知道如何为您自己设计此类工具栏的HTML和CSS代码,并且您只想将其添加到MediaWiki皮肤。为此,你有几个选择。

  • 也许最简单的方法是编辑的皮肤模板文件(例如皮肤/ MonoBook.php或皮/ Vector.php)为您的wiki的默认皮肤,只需添加相应的HTML/PHP代码那里。您还可以查看这些文件以获取代码示例。有关定制MediaWiki皮肤的更多信息,请参阅skinning tutorial

    此选项的主要缺点是,对升级MediaWiki时,对这些文件所做的任何更改都将被覆盖。当然,您可以随时保存自定义设置的diff,并在每次升级后重新应用它。

  • 或者,如果你只是想在每一页的末尾注入一串HTML的,你可以在你的LocalSettings直接hook安装使用SkinAfterContent钩(通过编写一个简单的自定义extension,甚至.PHP)。既然你大概会使用CSS固定位置为你的工具栏,它应该没有什么重要的其中在它被注入的HTML页面中。

  • 最后,对于与现代sidebar结构外观(的MonoBook,现代,矢量等),优雅的解决办法是将定制的“门户”添加到边栏(或者使用一个SkinBuildSidebar钩,或简单地通过编辑您的wiki上的MediaWiki:Sidebar)并在您的站点CSS中将其设置为您想要的工具栏。 MediaWiki自己的页面标签和顶级用户链接都是以这种方式实现的,所以这当然是可能的。这也可以让您将标准侧边栏搜索框移动到新的工具栏。

为了您的工具栏在您需要的特定元素,大部分的相关方法应该是在SkinLinker和/或Title类。当然,对于“下一个”/“上一个”页面链接,你首先必须决定你想要哪些链接到; MediaWiki默认不具有这样的概念。