加载自定义MediaWiki CSS皮肤的顺序

时间:2015-05-28 09:55:22

标签: css mediawiki

我正在使用带有custom skin的MediaWiki wiki。现在我看到我的自定义皮肤的CSS代码被MediaWiki本身的CSS代码覆盖了。

enter image description here

如何更改加载CSS代码的顺序?

1 个答案:

答案 0 :(得分:0)

在 MediaWiki样式之后,似乎没有一种简单的方法来加载CSS ,因为它是由主要资源加载器通过页面上的load.php加载的(在您的网页上查看源以查看首先列出的资源名称,例如,如下所述的ext.MySkin.styles,但我找到了一个对我有用的解决方案。

skin.jsonextension.json(或您的PHP代码)中,您可以添加"group"字段,其值为"site",以便在主CSS之后加载扩展样式表已加载该网站。

例如,在skin.jsonextension.json

{
    "name": "MySkin",
    ...
    "ResourceModules": {
        "ext.MySkin.styles": {
            "styles": [
                "my-skin.css"
            ],
            "group": "site"
        },
        "ext.MySkin.js": {
            "scripts": [
                "my-skin.js"
            ]
        }
    },
    ...
}

查看$wgResourceModules的文档以及与之关联的Group definitions

MediaWiki 会将您的扩展程序/外观样式加载为优化的第二页请求,但它可以根据您的需要在此应用程序中运行,并且您的CSS将会覆盖皮肤中的先前值,因此对于大多数应用程序来说这是合适的,并且有效。