MediaWiki扩展问题/建议

时间:2010-10-04 03:09:49

标签: mediawiki

在这里完成初学者。我想在每个具有自定义操作的页面上创建一个新选项卡。单击时,它会将您带到一个新页面,其中包含自定义HTML以及文本或原始文章。

到目前为止,我可以创建一个新标签,并可以为其提供自定义操作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,或者输入了错误的链接。这也可能表示yourplugin

使用的软件存在错误

1 个答案:

答案 0 :(得分:1)

我做错了什么:

$content_actions[‘0’]应该只是$content_actions[](次要挑剔)

$content_actions是通过引用传递的,它应该是函数myTab( &$content_actions ) {}

mycustomaction()应该按照

的方式行事
if ( $action == ‘mycustomaction’ ) { 
  do stuff; return false; 
} 
else { 
  return true; 
}

应使用$wgOut->addHTML()代替echo

非常感谢大家的帮助!