【问题标题】:How to hide custom actions for anonymous users in the Mediawiki actions dropdown menu?如何在 Mediawiki 操作下拉菜单中隐藏匿名用户的自定义操作?
【发布时间】:2021-09-26 12:09:13
【问题描述】:

在这张图片,我想为匿名用户隐藏“加密签名”按钮。

我尝试过各种方法,例如

这样做的正确方法是什么?我查看了 MediaWiki 源代码,例如DeleteAction.php,但找不到任何线索。

【问题讨论】:

  • 您是如何添加该操作的?
  • @Tgr 我通过在 extension.json 中指定自定义操作来添加。虽然我已经通过在 MediaWiki IRC 中询问人们解决了这个问题。我很快就会在这里发布答案。
  • 嗯,不,这是在 SkinTemplateNavigation 挂钩中添加的。仅将其添加到操作列表中不会使其显示在下拉列表中。在这种情况下,如您所说,钩子是有条件不添加它的正确位置。

标签: mediawiki mediawiki-extensions


【解决方案1】:

我的扩展基于https://github.com/wikimedia/mediawiki-extensions-examples。而我的解决方案是修改添加动作的钩子https://github.com/wikimedia/mediawiki-extensions-examples/blob/f9c26110ca265c9298d436cd79a85935ad148ee1/includes/Hooks.php#L111做权限检查:

if ( !$this->permissionManager->userCan( 'edit', $skin->getUser(), $skin->getTitle() ) ) {
    return;
}

【讨论】:

    猜你喜欢
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 2013-12-04
    • 2013-12-18
    • 1970-01-01
    相关资源
    最近更新 更多