3

这是一个关于 Mediawiki 的WikiEditor扩展的问题。
我激活了发布模块以在右上角显示按钮 Publish 和 Cancel :

$wgDefaultUserOptions['wikieditor-publish'] = 1;

不幸的是,它没有按预期工作:发布按钮不执行任何操作,而取消按钮执行发布。
我查看了 jquery.wikiEditor.publish.js 文件,但我并不真正了解发布模块代码源:

context.fn.addButton({
    'captionMsg': 'wikieditor-publish-button-publish',
    '动作':函数(){
        $( '#' + dialogID ).dialog( 'open' );
        返回假;
    }
});

context.fn.addButton({
    'captionMsg': 'wikieditor-publish-button-cancel',
    '动作':函数(){}
});

有谁知道它是如何工作的?

4

2 回答 2

3

此错误已添加到 bugzilla:https
://bugzilla.wikimedia.org/show_bug.cgi?id= 42198 并已提交修复:https ://gerrit.wikimedia.org/r/#/c/44989

所以问题解决了:)

于 2013-02-12T14:15:04.793 回答
2

我通过快速破解在 MediaWiki 1.20.0 中修复了这个问题,将代码更改为:

context.fn.addButton( {
  'captionMsg': 'wikieditor-publish-button-publish',
  'action': function () {
    $( '#' + dialogID ).dialog( 'open' );
  }
} );

context.fn.addButton( {
  'captionMsg': 'wikieditor-publish-button-cancel',
  'action': function () {
    window.location = $("*").find("a[id='mw-editform-cancel']").first().attr("href");
    return false;
  }
} );

这使得两个按钮都能按我的预期工作,并且应该在 1.19 中也能工作。真正了解 jQuery 的人可能会做得更好。

仅作记录,在您的 Mediawiki 发行版中以下文件的末尾可以找到要更改的代码:

extensions/WikiEditor/modules/jquery.wikiEditor.publish.js
于 2012-11-21T08:33:24.673 回答