Edit Links |
PmWiki /
PathVariables
<< | Page list | >> When dealing with file or path variables, one has to recognize the difference between working with URLs and files on disk. For example:
Note that a browser needs a URL (http://example.com/pmwiki/pub) while an include statement requires a server file path (
$PageCSSListFmt = array( 'pub/css/local.css' => '$PubDirUrl/css/local.css', 'pub/css/{$Group}.css' => '$PubDirUrl/css/{$Group}.css', 'pub/css/{$FullName}.css' => '$PubDirUrl/css/{$FullName}.css'); Note that the default (as of version pmwiki-2.1.beta26) makes no reference to $FarmPubDirUrl for css configuration files. If you wish to be able to place css configuration files in both the field's pub directory, and the farm's pub directory, you may want to add these lines to your local/config.php file (as described in Cookbook:SharedPages):
# this adds farm.css to all wikis
$PageCSSListFmt = array( '$FarmD/pub/css/farm.css' => '$FarmPubDirUrl/css/farm.css', 'pub/css/local.css' => '$PubDirUrl/css/local.css', 'pub/css/$Group.css' => '$PubDirUrl/css/$Group.css', 'pub/css/$FullName.css' => '$PubDirUrl/css/$FullName.css'); # this enables farm css files in a similar manner to a local wiki
$PageCSSListFmt = array( '$FarmD/pub/css/local.css' => '$FarmPubDirUrl/css/local.css', '$FarmD/pub/css/$Group.css' => '$FarmPubDirUrl/css/$Group.css', '$FarmD/pub/css/$FullName.css' => '$FarmPubDirUrl/css/$FullName.css', 'pub/css/local.css' => '$PubDirUrl/css/local.css', 'pub/css/$Group.css' => '$PubDirUrl/css/$Group.css', 'pub/css/$FullName.css' => '$PubDirUrl/css/$FullName.css'); Note the difference between CSS configuration files and CSS files associated with a skin. Skin files, including associated CSS, can be put in either the farm or the field pub/skins directory, and the program will find them.
The following may work for you[1]
$ScriptUrl = 'http://'.$_SERVER['HTTP_HOST'].'/pmwiki/pmwiki.php'; $PubDirUrl = 'http://'.$_SERVER['HTTP_HOST'].'/pmwiki/pub';
This variable is a string that gives a local path to a directory where the pmwiki engine can create temporary files etc. PmWiki needs this for a variety of things, such as building merged edits, caching mailposts entries, keeping track of the last modification time of the site, other types of cache, etc. Do not confuse this variable with $WikiDir ; the reason that both $WorkDir and $WikiDir refer by default to the directory wiki.d/ is merely to simplify things for the administrator.
$WikiDir is a PageStore-object that refers to how wiki pages are stored. This can be a simple reference to a directory (typically wiki.d/), or something more advanced such as a MySQL backend or a .dbm-file. Do not confuse this variable with $WorkDir ; the reason that both $WorkDir and $WikiDir refer by default to the directory wiki.d/ is merely to simplify things for the administrator.
To store groups of pages in subdirectories add $WikiDir = new PageStore('wiki.d/$Group/$FullName'); to the start of your config file. [2]
$WikiLibDirs is an array of PageStore objects that specify where to look for pages. By default it is set up to look in wiki.d/ and wikilib.d/, but can be changed to look other places.
For example, to exclude the pages that are bundled in the PmWiki distribution, use the line below. (Note that some features such as editing and search rely on having certain pages available, so you may need to copy them to the $WikiDir .)
Another example
## for any page name, use the version located in wiki.d if it exists, ## use the version located in wikilib2.d, if a wiki.d version does not, and ## the version located in wikilib.d, if neither of the above exists $WikiLibDirs = array(&$WikiDir, new PageStore('wikilib2.d/{$FullName}'), new PageStore('$FarmD/wikilib.d/{$FullName}')); See also CustomPageStore.
See also
This page may have a more recent version on pmwiki.org: PmWiki:PathVariables, and a talk page: PmWiki:PathVariables-Talk. |