我为我的 mediawiki 创建了一个基于矢量的自定义皮肤。我已经在顶部显示了文章、编辑、历史和操作的视图选项卡。除了这个选项卡,我正在尝试添加一个新的“编辑这篇文章”按钮以显示在页面的右上角。我不知道如何将编辑网址添加到此按钮。目前,我已经像这样硬编码它:
<a class="edit_article_button" href="?action=edit" title="Edit This Article">Edit Article</a>
上面的硬编码方法不好,它不能在所有页面上正常工作。当我将编辑按钮更改为使用语义表单扩展的表单按钮进行编辑时,它也不兼容。有没有一种方法可以将默认链接添加到适用于该相关 mediawiki 文章的编辑按钮?当我查看皮肤时,编辑按钮显示为 renderNavigation 函数的一部分,这并不好,因为它显示了所有列表,包括历史记录等:
<?php $this->renderNavigation( array( 'VIEWS' ) ); ?>
这是我遇到麻烦并且无法找到有关如何操作的信息的地方。有人可以帮我创建一个单独的编辑文章按钮吗?
编辑和进度更新:
好吧...这是我如何添加它的更新。我在 renderNavigation 函数中添加了以下内容,它可以工作:
case 'EDIT':
$navTemp = $this->data['content_actions']['edit'];
if ($navTemp) { ?>
<a href="<?php echo $navTemp['href']; ?>" class="custom_edit_button" title="Edit This Article"><?php echo $navTemp['text']; ?></a>
<?php }
break;
我在 html 模板中使用它来调用它:
<?php $this->renderNavigation( array('EDIT')); ?>
我还为“custom_edit_button”添加了 CSS 以进一步设置按钮的样式。
使用语义表单时的下一个障碍:尽管上述方法有效,但会显示“编辑源”按钮而不是“使用表单编辑”按钮。当该文章中存在表单而不是编辑源选项时,我实际上希望它显示“使用表单编辑”选项。我已经在 LocalSettings.php 中有这个
//The following settings are to edit the edit with form options and removing the default edit option.
$sfgRenameEditTabs = true;
$wgGroupPermissions['*']['viewedittab'] = false; // Hiding the regular edit tab for all users
$wgGroupPermissions['sysop']['viewedittab'] = true; //Showing the regular edit tab (renamed to edit source) to sysops only.
现在,如何更改上述 php 代码,以便在存在表单时链接到“使用表单编辑”页面?