自定义配置
你可以自定义 /local/config.php和/pub/css/local.css配置文件。任何的组和页面有都可以通过自己的配置文件和配置的css文件来自定义。
本页将描述配置文件如何使用,。详见:PmWiki中文手册,包括:
- Skins - Change the look and feel of part or all of PmWiki
- 国际化 - Language internationalisation of web pages
- Custom Markup - Using the Markup() function for custom wiki syntax; migration to PHP 5.5
- InterMaps - Interwiki links definition and use
local/config.php
从一开始,PmWiki为Wiki管理员充分自定义自己的Wiki而生。所以 pmwiki.php核心配置文件大量使用了PmWiki.Variables 来方便自定义。
简单的配置变量通常是1 (或者 TRUE)。这里以开启调试模式(?action=diag)和开启phpinfo功能(?action=phpinfo):
$EnableDiag = 1;
你可以看到有些命令行开头有一个井号(#),此外,一些PmWiki自有变量的值通常是“1”或“0” (true或false)。 这里有一个设置如何限制搜索蜘蛛索引页面的例子, (详见:限制Robots):
# Remove the default "rel='nofollow'" attribute for external links. $UrlLinkFmt = "<a class='urllink' href='\$LinkUrl' title='\$LinkAlt'>\$LinkText</a>"
这个“scripts/”也有许多自定义功能。 PmWiki插件同样包含了许多自定义功能,下载上传到“cookbook/”文件夹中。 这些插件通常都有安装使用说明。
这些插件通常需要在“config.php”配置文件中,像下面这样添加进去:
include_once("cookbook/recipefile.php");
和
include_once("scripts/scriptfile.php");
在config.php中添加好保存后才可以启用。
一些像“scripts/stdconfig.php”的插件将会自动启用,除非你在“local/config.php”配置文件中,像这样
把它的值设置为0,才会关闭它。
$EnableStdConfig
=0;
config.php指令
推荐设置以下指令:
- 如果需要,请定义$ScriptUrl?和$PubDirUrl?。
- 定义任何页面数据类型,比如SQLite,CompressedPageStore或PerGroupSubDirectories。
- 增加 include_once scripts/xlpage-utf-8.php,
- next call XLPage() which needs the definitive (rw)
$WikiDir
already set in order to find the wiki page containing the translations, - 增加include authuser.php (如果需要),使PmWiki支持设置一些组和页面的访问权限。
- 增加其它脚本插件功能。
- 任何直接调用的函数功能都在config.php,例如: ResolvePageName?(), CondAuth?(), PageTextVar?(), PageVar?(), RetrieveAuthPage?(), 或者其他一些config.php文件结尾的。
说明 '这些指令并不是必须的,属于可选config.php配置。
config.php的字符编码
请使用UTF-8编码,保存时选择"without Byte Order Mask (BOM)"类型。
pub/css/local.css
你可以自定义这些基础CSS风格,它将默认覆盖掉主题中设置的CSS样式。例如:
h1, h2, h3, h4, h5 { color: #880000; } /*dark red titles*/ a { text-decoration: none; } /* don't underline links */
不要修改pmwiki.php或其它核心文件。
你不应该直接编辑“pmwiki.php”这个核心文件,而应该通过把编辑内容放在scripts/目录中的方式使用。这样不仅不宜出错,而且利于后续的版本升级。一些设置应该通过“config.php”配置文件设置。你也可以创建自己的插件,只需要在config.php文件中像这样 include_once(...)
启用就可以了。如果你制作了一个不错的插件,建议联系pmwiki邮件列表?或者通过 Cookbook来提交你的插件,让更多人因您而受益。
FAQ
目录“local”中没有“config.php”。
把"docs/sample-config.php" 复制到"local"并重命名"config.php".。你可以移除掉注释符号 "#" 来添加命令功能。详见Group Customizations。
我能把“Main.HomePage?”($DefaultPage
)换成其他的吗?
只要开启 $DefaultPage
就可以设置你想要的默认首页了。你也应该看看 $DefaultGroup
和$DefaultName
的配置变量。想要设置默认首页,只需添加类似下面的内容:
$DefaultPage = 'ABC.StartPage';
How do I get the group / page name in a local configuration file (e.g. local/config.php)?
使用最新版。
## Get the group and page name $pagename = ResolvePageName($pagename); $page = PageVar($pagename, '$FullName'); $group = PageVar($pagename, '$Group'); $name = PageVar($pagename, '$Name');
可以删除自带的wikilib.d文件夹吗?
以Site.*和SiteAdmin.*开头的文件不可以删除。以PmWiki* 开头的文档可以删除。
如何自定义404错误页面呢?
请编辑Site.PageNotFound页面。