ubixos-web / docroot / phpwiki / templates /
@reddawg reddawg authored on 29 Jun 2004
..
README UbixOS Web Site 20 years ago
browse.html UbixOS Web Site 20 years ago
editlinks.html UbixOS Web Site 20 years ago
editpage.html UbixOS Web Site 20 years ago
message.html UbixOS Web Site 20 years ago
README
$Id$

PhpWiki distinguishes between four different templates:

- template for browsing pages (default: browse.html)
  This template is used when viewing Wiki pages.
  
- template for editing pages (default: editpage.html)
  This template is used when users edit a page by clicking on
  the EditText link.

- template for editing references (default: editlinks.html)
  This template is used when users edit references of a page
  by clicking on the EditLinks link on the EditText page.

- template for plain messages from PhpWiki (default: message.html)
  This template is used when displaying search results, or when
  displaying error messages.

  
The location of the template files is defined in lib/config.php
The specification is relative to the index.php script.

Template files are regular HTML files, which contain special
placeholders. Placeholders are surrounded by '###'.
You must not use '###' for other purposes.


Following placeholders are provided by PhpWiki:

###SCRIPTURL###
	This is the URL of the main PhpWiki script.
	All URL's referring to the Wiki itself should use this placeholder.

###PAGE###
	The page title. Any special HTML characters are replaced by their
	entities. Do not use this placeholder in links. Use ###PAGEURL###
	instead.

###CONTENT###
	The actual page content. This is either the Wikipage itself,
	the search result, or a message text.

###ALLOWEDPROTOCOLS###
	Protocols allowed for external links and references.
	Default: http|https|mailto|ftp|news|gopher


Conditional placeholders:

Placeholders that test a condition and depending on it include/omit
certain HTML. These placeholders may be nested. The general syntax
looks like this:

Line by line:
###IF xxx###
	If condition 'xxx' is false, this line is omitted.
###IF !xxx###
	If condition 'xxx' is true, this line is omitted.
Block:
###IF:xxx### .... ###ENDIF:xxx###
	If condition 'xxx' is false, then everything between the start
	and end placeholder is omitted.
###IF:!xxx### .... ###ENDIF:!xxx###
	If condition 'xxx' is true, then everything between the start
        and end placeholder is omitted.

Conditions to test:

COPY    If page has a copy in the archive. Usually used to display/omit
	the EditCopy link in the editpage template.

ADMIN	If the current user is an admin. Used in e.g. browse template
	to display admin buttons at the top.

LOCK	If current page is locked and thus cannot be edited.

For examples see browse.html and editpage.html



The following placeholders are not available for the 'MESSAGE' template:

###PAGEURL###
	Page title encoded for use in URLs.

###LASTMODIFIED###
	Date when the page was last modified.

###LASTAUTHOR###
	Author of latest modification. Usually this is the hostname or
	the IP address.

###VERSION###
	Revision number of the page.
	Note: this is also used for detecting concurrent updates to a page.
	See hidden input field in EDITPAGE template for how to use it.


Only for EditLinks:

###1###, ###2###, ....
	Placeholder for references. Up to NUM_LINKS placeholders will be
	substituted. NUM_LINKS is defined in lib/config.php



Examples:

<A HREF="###SCRIPTURL###">the entry (default) page</A>
<A HREF="###SCRIPTURL###?###PAGEURL###">the current page</A>
<A HREF="###SCRIPTURL###?FindPage">the FindPage page</A>
<head><title>PhpWiki Page: ###PAGE###</title></head>

See the default templates for more examples.