【发布时间】:2013-08-25 05:56:29
【问题描述】:
我为我的 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 代码,以便在存在表单时链接到“使用表单编辑”页面?
【问题讨论】:
-
谢谢马克。是的,我之前看过那个链接。实际上,我在创建皮肤时将其用作参考。由于我的基于 Vector,因此对于顶部的 Action 选项卡,我使用了 vector 中也使用的“content_navigation”。但是,当我输入“VIEWS”作为数组时,它会创建完整的选项卡,显示我在左上角使用过的页面、编辑和历史记录。但我还试图在右上角的锚标记内单独添加一个额外的简单“编辑按钮”。我不知道该怎么做。我阅读了该链接中的内容操作部分,但仍不确定... :(
-
嘿,马克,我能够让它的一部分工作。我已经用“编辑和进度更新”更新了我上面的问题。添加上述 php 代码后,自定义编辑按钮显示,但它链接到编辑源页面。当存在表单时,我希望它与表单页面链接以进行编辑。 (我正在使用语义形式)。所以我被困在那......
标签: mediawiki