代码之家  ›  专栏  ›  技术社区  ›  user201788

MediaWiki扩展问题/建议

  •  2
  • user201788  · 技术社区  · 16 年前

    到目前为止,我可以创建一个新的标签,并可以给一个自定义的行动 mycustomaction 去吧。我正在粘贴我到目前为止所做的。请让我知道,如果我使用正确的挂钩等,是什么更好的方式来实现这一基本功能。

    到目前为止,在他们的文档中,我做到了:

    #Hook for Tab
    $wgHooks['SkinTemplateContentActions'][] = 'myTab';
    
    #Callback
    function myTab( $content_actions) {
          global $wgTitle;
          $content_actions['0'] = array(
              'text' => 'my custom label',
              'href' => $wgTitle->getFullURL( 'action=mycustomaction' ),
          );      
          return true;
     }
    
    #new action hook
    $wgHooks['UnknownAction'][] = 'mycustomaction';
    
    #callback
    function mycustomaction($action, $article) {
        echo $action;                                                                                                
        return true;
    }
    

    URL指定的操作无效。您可能输入了错误的URL,或者使用了错误的链接。这也可能表明 yourplugin

    1 回复  |  直到 16 年前
        1
  •  1
  •   user201788 user201788    16 年前

    我做错了什么:

    $content_actions[‘0’] 应该只是 $content_actions[] (小题大做)

    $content_actions myTab( &$content_actions ) {}

    mycustomaction() 我们应该按照

    if ( $action == ‘mycustomaction’ ) { 
      do stuff; return false; 
    } 
    else { 
      return true; 
    }
    

    它应该使用 $wgOut->addHTML() 而不是 echo

    非常感谢大家的帮助!