【问题标题】:How to load MediaWiki's WikiEditor?如何加载 MediaWiki 的 WikiEditor?
【发布时间】:2012-04-02 13:25:32
【问题描述】:

我有一个旧皮肤,我需要适应具有这个新 WikiEditor 的新 MediaWiki 1.18。如果我将皮肤设置为 Simple 或自定义主题以外的任何其他主题,那么我会看到 WYSIWYG 编辑器 (WikiEditor),但如果我使用自定义皮肤,我看不到它。

我想我错过了一些东西,我浪费了半个工作日试图弄清楚我错过了什么,但皮肤似乎和其他皮肤一样。我检查了 MediaWiki 主页,但他们没有告诉我需要做什么才能加载此 WikiEditor。

确认:从未加载过 WikiEditor 源代码,即 ResourceLoader 不加载它们,但我不知道如何使其加载。

【问题讨论】:

    标签: php mediawiki


    【解决方案1】:

    来自Extension:WikiEditor:

    For 1.18 and later the extension already comes with your MediaWiki package.
    You only need to install and configure it as described below:
    
    Add the following line to your LocalSettings.php:
    
    require_once( "$IP/extensions/WikiEditor/WikiEditor.php" );
    
    To enable use of WikiEditor by default but still allow users to disable it in preferences, use something like...
    
    $wgDefaultUserOptions['usebetatoolbar'] = 1;
    $wgDefaultUserOptions['usebetatoolbar-cgd'] = 1;
    $wgDefaultUserOptions['wikieditor-preview'] = 1;
    

    【讨论】:

    • 我已经有了。它适用于 Simple 主题,但不适用于较旧的 1.16 主题。
    • 你有validated你的自定义皮肤css代码吗?我的 wiki 上有两个自定义皮肤(当前运行 1.17.1),它们引起了各种问题。 WikiMedia Bugzilla 链接:“@import 样式在用户和站点模块中的 .css 中损坏”——35562 或“WikiEditor 问题(跟踪)”线程-- 24493 可能对您有用,或者至少 -- 为您指明正确的方向。
    【解决方案2】:

    从 1.18 开始,皮肤应该使用以下内容,而不是编写自己的 HTML HEAD 部分:

    $this->html( 'headelement' );
    

    headelement 包含开始的 body 标记,因此应该从遗留代码中删除它和 doctype 之间的所有内容。这当然会破坏与 1.18 之前的 mediawiki 的向后兼容性。

    您的皮肤可能还需要修改为在其类声明中使用 SkinTemplate 而不是 BaseTemplate。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-03
      • 2012-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多