是否可以使用以下按钮/功能在 Mediawiki 的每个页面顶部进行浮动(即使您向下滚动)也可以自定义工具栏:"home page"
,{{ 1}},"previous page"
,"next page"
,"reload page"
?
有点像这样:
答案 0 :(得分:2)
是的,这是可能的。
我将假设你知道如何自己设计这样一个工具栏的HTML和CSS代码,而你只想将它添加到MediaWiki皮肤。为此,您有几种选择。
可能最简单的方法是为你的维基的默认皮肤编辑皮肤模板文件(例如皮肤/ MonoBook.php或皮肤/ Vector.php),然后在那里添加适当的HTML / PHP代码。您还可以检查这些文件以获取代码示例。有关自定义MediaWiki外观的更多信息,请参阅skinning tutorial。
此选项的主要缺点是,无论何时升级MediaWiki,您对这些文件所做的任何更改都将被覆盖。当然,您可以随时保存diff个自定义项,并在每次升级后重新应用。
或者,如果您只想在每个页面的末尾注入一堆HTML,则可以使用SkinAfterContent挂钩(通过编写简单的自定义extension,甚至只需将hook直接附加在LocalSettings.php中即可。由于您可能正在为工具栏使用CSS固定定位,因此在页面HTML中注入的 where 并不重要。
最后,对于具有现代sidebar结构(MonoBook,Modern,Vector等)的皮肤,一个优雅的解决方案是将自定义“portlet”添加到侧边栏(使用{ {3}}挂钩,或者只需在wiki上编辑SkinBuildSidebar并在网站CSS中设置样式,使其看起来像您想要的工具栏。 MediaWiki自己的页面选项卡和顶级用户链接以这种方式实现,因此它当然是可能的。这也允许您将标准侧边栏搜索框移动到新工具栏。
对于工具栏中所需的特定元素,大多数相关方法应位于MediaWiki:Sidebar,Skin和/或Linker类中。当然,对于“下一页”/“上一页”页面链接,您首先必须确定您希望这些链接到做什么;默认情况下,MediaWiki没有这样的概念。