常见错误:
数据库错误
发生数据库查询语法错误。可能是由于软件自身的错误所引起。最后一次数据库查询指令是:
(SQL查询已隐藏)
来自于函数“
Revision::insertOn
”。数据库返回错误“
1048: Column 'old_id' cannot be null (localhost)”。
原因是因为
mysqldump导数据加参数--skip-opt后无自增列auto_increment
导致了includes/Revision.php的1267行插入的时候,执行类似:
$old_id = $dbw->nextSequenceValue( 'text_old_id_seq' );
$dbw->insert( 'text',
array(
'old_id' => $old_id,
'old_text' => $data,
'old_flags' => $flags,
), __METHOD__
);
$dbw->insert( 'text',
array(
'old_id' => $old_id,
'old_text' => $data,
'old_flags' => $flags,
), __METHOD__
);
includes/Database.php插入异常;
重新导入:
mysqldump -uuser -ppassword -hhostname -Pport --skip-opt -R --quick --add-drop-table --add-locks --create-options --extended-insert wiki > wiki.sql
版本:
1.21.1
发布模式: 正式wiki接入TGW,正式wiki展示端删除常见的一些敏感操作,比如登录,页面编辑等功能;管理端部署在一台IDC,通过HOSTS访问;测试WIKI同样分为展示端和管理端,部署在同一台服务器,采用同一套代码,只是分别进行不同的功能改造;
默认皮肤:vector
重要改造:左侧支持III级菜单展示,原生的mediawiki只支持到II级菜单;这里需要改造输入和输出解析;最重要的函数:
/includes/Skin.php文件:addToSidebarPlain(用来解析用户通过点击默认页面输入的导航列表**wiki.qq.com/index.php?title=MediaWiki:Sidebar&action=edit),原生语法有些重复,于是我自定义了编写的语法,类似:
左侧栏编辑
即可;
发布模式: 正式wiki接入TGW,正式wiki展示端删除常见的一些敏感操作,比如登录,页面编辑等功能;管理端部署在一台IDC,通过HOSTS访问;测试WIKI同样分为展示端和管理端,部署在同一台服务器,采用同一套代码,只是分别进行不同的功能改造;
默认皮肤:vector
重要改造:左侧支持III级菜单展示,原生的mediawiki只支持到II级菜单;这里需要改造输入和输出解析;最重要的函数:
/includes/Skin.php文件:addToSidebarPlain(用来解析用户通过点击默认页面输入的导航列表**wiki.qq.com/index.php?title=MediaWiki:Sidebar&action=edit),原生语法有些重复,于是我自定义了编写的语法,类似:
1 新手指引
1.1 游戏接入流程
1.2 平台简介
1.3 游戏接入流程
2 政策与规范
2.1 游戏接入规范
2.1.1 腾讯移动游戏平台首发协议
2.1.2 腾讯移动游戏平台开发者协议
2.3 游戏审核规范和流程
主要是字符串解析为相应的数组;然后读取出来;
其中关键的key为href,例如:
$menuArr[$firstKey][$secondKey][$v] = array(
'text' => $v,
'href' => '/index.php/' . urlencode($v),
);
这里是为了在后台解析数组是否有href这个key,用来区分二级菜单数组和三级菜单数组的区别,原生的实现是通过解析key和val,生成一个
- 这样的模式,但是如果有III级,这里的val就无法解析为链接方式,所以通过href可以过滤III级菜单,如果想在后台增加一个快速链接到后台编辑功能,在Vector.php皮肤文件中找到renderNavigation()方法,VIEW中增加
左侧栏编辑
即可;
(详见/skins/Vector.php文件中的renderPortal方法);
对于需要获取的各种数据,可以在SkinTemplate.php文件中outputPage()进行相应的设置;
总体而言,最重要的几个文件:Skin.php,皮肤文件例如Vector.php,M->V的转化层文件SkinTemplate.php模板类文件;
希望之后有同学想使用mediawiki的时候,看到这篇文章,能给大家一个初步的参考,谢谢!如果想直接用我的代码,可以和我联系,如果mediawiki能够写个什么插件,我肯定弄个(直接部署就可以使用);