MediaWiki常用设置

来自律工百科
跳转至: 导航搜索

新窗口打开外部链接

打开 "LocalSettings.php",加入一行

$wgExternalLinkTarget='_blank';

这样就能让所有的外部链接以新窗口形式打开了。

如何修改MediaWiki右侧的导航栏呢?

在wiki的搜索栏里键入“MediaWiki:Sidebar”后搜索。

如何修改MediaWiki的全局CSS和JS呢?

CSS:在wiki的搜索栏里键入“MediaWiki:common.css”后搜索。
JS:在wiki的搜索栏里键入“MediaWiki:common:js”后搜索。


如何为MediaWiki增加编辑页面格式模板选择功能?

如图所示:

首先为MediaWiki安装“MultiBolierplate”插件。

官网下载:https://www.mediawiki.org/wiki/Extension:MultiBoilerplate

安装后,去wiki根目录找到“LocalSettings.php”并打开。

像这样添加一段代码:

前面是要显示在框中的内容,后面是要指向的模板~

$wgMultiBoilerplateOptions[ "微分类分类" ] = "Template:微分类分类";

提示信息修改

比较常用的提示信息有以下几个:

MediaWiki:Mainpage 首页 
MediaWiki:pagetitle (浏览器上方)网页标题 
MediaWiki:Privacy (页脚)隐私政策 
MediaWiki:Aboutpage (页脚)关于本站 
MediaWiki:Disclaimers (页脚)免责申明 
MediaWiki:Sidebar (测栏)导航栏 格式:URL|标题  

使用者权限修改

$wgGroupPermissions['*' ]['createaccount'] = false; 
$wgGroupPermissions['*' ]['read'] = true; 
$wgGroupPermissions['*' ]['edit'] = false; 
$wgGroupPermissions['*' ]['createpage'] = false; 
$wgGroupPermissions['*' ]['createtalk'] = true; 

Mediawiki版本:1.5.8

以下代码增加的位置:LocalSettins.php

因为require_once( "includes/DefaultSettings.php" )中初始化过,所以下面语句必须放在此语句之后。

禁止新用户注册

在LocalSettings.php中加入:

#Prevent new user registrations
$wgWhitelistAccount = array ( "user" => 0, "sysop" => 1, "developer" => 1 );

此时用户无法自助注册。管理员可以到登录页面(Special:UserLogin)里,输入一个用户名和email,然后点击“by email”,系统创建帐号并将随机密码发送到指定email里。

禁止匿名用户编辑

#$wgGroupPermissions = array();
$wgGroupPermissions['*createaccount']   = false;
$wgGroupPermissions['*']['read']            = true;
$wgGroupPermissions['*']['edit']            = false;

“编辑”标签仍会显示,但匿名用户点击时会被提示要求进行登录。

等式右侧的值决定各组成员的权限。左侧第一方括号内的'*'代表包括匿名用户在内的所有成员。登录用户控制存放在'user'组,这些将综合决定user_groups数据表中的成员权限。

这些设置取代了以前的wgWhitelistAccount和wgWhitelistEdit。

如此设定后,用户连首页和登录页面也看不到了。

///限制非注册用户不可读
$wgWhitelistRead = array( "Main Page", "Special:Userlogin", "-", "MediaWiki:Monobook.css" );
$wgGroupPermissions['*']['read'] = false;
///限制非注册用户不可读

设定匿名用户(未登录)可以看到的页面

$wgWhitelistRead = array ("Main Page", "Special:Userlogin", "Wikipedia:Help");匿名用户只能看到Main Page、登录页面以及帮助页面。

修改其他的例子:

$wgWhitelistRead = array ("首页", "Special:Userlogin", "某某Wiki:Help");
$wgWhitelistRead = array( urldecode("%E9%A6%96%E9%A1%B5") ;

对于多字节语言(例如中文),PHP parser可能不能正确解码,要用到PHP的urldecode()函数来转换。


以新窗口打开外部链接

打开 "includes/Linker.php" 找到 "function getExternalLinkAttributes" 在下面一段代码之後

$r = ($class != ) ? " class='$class'" : " class='external'"; 
增加以下代码: 
$r .= " target=\"_blank\""; 

这样就能让所有的外部链接以新窗口形式打开了。

由于MediaWiki的页面缓冲机制,可能造成这个修改的效果不能迅速完全反映出来。

如何清除页面缓冲?

在普通页面的网址后面添加“&action=purge”参数可以更新服务器缓冲数据,这可能需要几分钟之后才能见到效果。

在LocalSettings.php中设置$wgCacheEpoch全局变量,强制现有缓冲过期(参见DefaultSettings.php)

修改站点通知,公告Sitenotice

在搜索框中输入MediaWiki:Sitenotice即可编辑 如插入链接:

可以使用进行注释

MediaWiki上传文件设置

通过修改includes/DefaultSettings.php,让wiki支持更多的文件上传:

$wgFileExtensions =[‘png',‘gif’,‘jpg’,‘jpeg’,‘pdf’,‘doc’,‘docx’,‘xls’,‘xlsx’];