PmWiki /
Local Customizations
A WikiAdministrator can make a lot of customizations simply by setting variables in the local/config.php file. Any group or page can also have its own configuration file.
From its inception, PmWiki has been designed so that WikiAdministrators can greatly customize the way PmWiki displays pages and the markup sequences used to generate pages. (This is even mentioned explicitly in PmWikiPhilosophy #4.) As a result, the core pmwiki.php script makes extensive use of PmWiki.Variables to determine how markup sequences will be processed and what each individual page will output.
The bulk of this page describes how customizations work in general, see PmWiki.DocumentationIndex for specific customizations that are commonly performed at many PmWiki installations, including:
The simplest type of customization is merely setting a variable to 1 (or TRUE). Here's an example that enables ?action=diag and ?action=phpinfo actions:
$EnableDiag = 1;
# Allow the site to be indexed by search engines. $MetaRobots = 'index,follow'; $EnableRobotCloakActions = 1; include_once("cookbook/recipefile.php");
include_once("scripts/scriptfile.php");
$EnableStdConfig=0; in local/config.php.
Note that you should strongly resist the temptation to directly modify the pmwiki.php script or the files in the scripts/ subdirectory. Any modifications you make to these files will probably be overwritten whenever you perform a PmWiki.Upgrade. Instead, look at some of the sample scripts for examples of customizations that can be performed from config.php. You can even create your own script to do a customization and use include_once(...) to include it from config.php. If you do make your own customization script, you can safely put it in the cookbook/ subdirectory--it won't get overwritten by an upgrade there. You might also want to submit your customization to the pmwiki-users mailing list or the Cookbook so that others can benefit from your effort and so that it can perhaps be included in future releases of PmWiki.
<< Initial setup tasks | DocumentationIndex | Skins >>
How do I get the group / page name in a local configuration file (e.g. local/config.php)? Use the following markup in pmwiki-2.1.beta21 or newer:## Get the group and page name $pagename = ResolvePageName($pagename); $group = PageVar($pagename, '$Group'); $name = PageVar($pagename, '$Name'); Can I remove items from the wikilib.d folder on my site? Yes, the files in wikilib.d/ can be safely removed. They'll reappear again when you upgrade, however. If you want to permanently configure your site so that these distribution pages don't appear, try:$WikiLibDirs = array(&$WikiDir);
How do I customize my own 404 error page for non-existent pages? To change the text of the message, try editing the Site.PageNotFound page. |