Differences between version 6 and predecessor to the previous major change of Help/TemplatePlugin.
Other diffs: Previous Revision, Previous Author
| Newer page: | 
version 6 | 
Last edited on 17 January 2022  3:00 | 
by harold | 
Revert | 
| Older page: | 
version 5 | 
Last edited on  9 September 2007  0:16 | 
by harold | 
Revert | 
@@ -1,72 +1,143 @@
+The **Template** [[Help:WikiPlugin|plugin]] allows to include text from a wiki page and replace certain placeholders by parameters.
 
 
-Template = Parametrized blocks
. 
 
+A template can be seen as a parametrized block. It is similiar to [[CreatePage]] with the template argument, but at run-time
. 
 
-Include text from 
a wiki page and replace certain placeholders by parameters. 
 
-Similiar to CreatePage with the 
template argument
, but at run-time.
  
-Similiar 
to the mediawiki 
templates but not with the "|" parameter seperator
. 
 
+There are two syntaxes to call 
a template, the usual Phpwiki syntax for plugins, and a more
  
+concise syntax similar 
to Mediawiki 
templates. 
 
-!!  Usage 
 
-<verbatim> 
 
-  <?plugin Template page
=Templates/Footer?> 
 
-  <?plugin Template page
=Templates/Film vars="title=SomeFilm&year=1999" ?> 
 
-  {{Templates/Film|title
=SomeFilm|year
=1999}} 
 
-</verbatim>
 
 
-!! Plugin Arguments 
 
-Argument| 
 
-  Default Value| 
 
-    Description
 
 
+=== Without parameters ===
 
 
-page|
  
-  (empty)|
  
-    pagename to be included as template
 
 
+Plugin syntax:
  
+{{{ 
 
+<<Template page=Footer>>
  
+}}}
 
 
-vars|
  
-  (empty)|
  
-    optional parameters to be expanded inside the template
 
 
+Short syntax:
  
+{{{
  
+{{Footer}} 
 
+}}}
 
 
-! Parameter expansion: 
 
-  vars
="var1
=value1&var2
=value2"
 
 
-We only support named parameters, not numbered ones as in mediawiki, and
  
-the placeholder is %%var%% and not 
{{~
{var~
}}} as in mediawiki.
 
 
+Plugin syntax:
  
+{{{ 
 
+<<Template page=Film vars="title=SomeFilm&year=1999">> 
 
+
}}} 
 
-The following predefined variables are automatically expanded if existing
:  
-<verbatim>
  
-  pagename
  
-  mtime     - last modified date + time 
 
-  ctime     - creation date + time 
 
-  author    - last author 
 
-  owner 
 
-  creator   - first author 
 
-  SERVER_URL, DATA_PATH, SCRIPT_NAME, PHPWIKI_BASE_URL and BASE_URL 
 
-</verbatim>
 
 
+Short syntax
:  
+{{{
  
+{{Film|title=SomeFilm|year=1999}}
  
+}}}
 
 
-<noinclude> .. </noinclude> is stripped
 
 
+=== With a specific revision of the page ===
 
 
-! In work
:  
-* ENABLE_MARKUP_TEMPLATE = true: (lib/InlineParser.php) 
 
-  Support a mediawiki-style syntax extension which maps 
 
-<verbatim> 
 
-    
{{TemplateFilm|title=Some Good Film|year=1999}}
  
-</verbatim> 
 
-  to 
 
-<verbatim> 
 
-    
<?plugin 
Template page=TemplateFilm vars
="title=Some Good Film&year=1999" ?
>  
-</verbatim>
 
 
+Plugin syntax
:  
+{{{
  
+<<Template page=somepage rev
=5>
>  
+}}}
 
 
+Short syntax: 
 
+{{{ 
 
+{{somepage?version=5}} 
 
+}}} 
 
+ 
 
+== Arguments == 
 
+ 
 
+{| class="bordered" 
 
+|- 
 
+
! Argument 
 
+
! Description 
 
+! Default value 
 
+|- 
 
+| **page** 
 
+| pagename to be included as template 
 
+| //None// (required argument) 
 
+|- 
 
+| **vars** 
 
+| optional parameters to be expanded inside the template 
 
+| (empty) 
 
+|- 
 
+| **rev** 
 
+| page revision 
 
+| most recent revision 
 
+|- 
 
+| **section** 
 
+| just include a named section 
 
+| (empty) 
 
+|- 
 
+| **sectionhead** 
 
+| when including a named section show the heading 
 
+| (empty) 
 
+|} 
 
+ 
 
+=== Page to include === 
 
+ 
 
+If "Template:$page" exists, it is used. 
 
+ 
 
+Else, if "Template/$page" exists, it is used. 
 
+ 
 
+Else "$page" is used. 
 
+ 
 
+This allows compatibility with Mediawiki that puts templates in the "Template:" namespace. 
 
+ 
 
+=== Parameter expansion === 
 
+ 
 
+We only support named parameters, not numbered ones as in Mediawiki, and 
 
+the placeholder is %%var%% and not ~{~{~{var~}~}~} as in Mediawiki. 
 
+ 
 
+{{{ 
 
+vars="var1=value1&var2=value2" 
 
+}}} 
 
+ 
 
+The following predefined variables are automatically expanded if existing: 
 
+{| class="bordered" 
 
+|- 
 
+! Variable 
 
+! Description 
 
+|- 
 
+| pagename 
 
+| 
 
+|- 
 
+| mtime 
 
+| last modified date + time 
 
+|- 
 
+| ctime 
 
+| creation date + time 
 
+|- 
 
+| author 
 
+| last author 
 
+|- 
 
+| owner 
 
+| 
 
+|- 
 
+| creator 
 
+| first author 
 
+|- 
 
+| SERVER_URL 
 
+| 
 
+|- 
 
+| DATA_PATH 
 
+| 
 
+|- 
 
+| SCRIPT_NAME 
 
+| 
 
+|- 
 
+| PHPWIKI_BASE_URL 
 
+| 
 
+|- 
 
+| BASE_URL 
 
+| 
 
+|}
 
 
-<verbatim> 
 
-  <?plugin Template page
=TemplateExample vars
="title
=TestTitle" ?> 
 
-</verbatim>
 
 
-Standard syntax: 
 
-  
<?plugin Template page=TemplateExample vars="title=TestTitle" ?
> 
 
+~
<noinclude
> .. ~</noinclude> is stripped.
 
 
-Shorter syntax: 
 
-  {{TemplateExample|title=TestTitle}}
 
 
+~<includeonly> .. ~</includeonly> is only expanded in pages using the template, not in the template itself.
 
 
----------
----  
-PhpWikiDocumentation Help:WikiPlugin
 
 
+<noinclude> 
 
+
----  
+[[
PhpWikiDocumentation]] [[CategoryWikiPlugin]] 
 
+</noinclude>
 
 
 
 
version 6
The Template 
plugin allows to include text from a wiki page and replace certain placeholders by parameters.
A template can be seen as a parametrized block. It is similiar to CreatePage with the template argument, but at run-time.
There are two syntaxes to call a template, the usual Phpwiki syntax for plugins, and a more
concise syntax similar to Mediawiki templates.
Usage
Without parameters
Plugin syntax:
<<Template page=Footer>>
Short syntax:
{{Footer}}
With parameters
Plugin syntax:
<<Template page=Film vars="title=SomeFilm&year=1999">>
Short syntax:
{{Film|title=SomeFilm|year=1999}}
With a specific revision of the page
Plugin syntax:
<<Template page=somepage rev=5>>
Short syntax:
{{somepage?version=5}}
Arguments
Page to include
If "Template:$page" exists, it is used.
Else, if "Template/$page" exists, it is used.
Else "$page" is used.
This allows compatibility with Mediawiki that puts templates in the "Template:" namespace.
Parameter expansion
We only support named parameters, not numbered ones as in Mediawiki, and
the placeholder is %%var%% and not {{{var}}} as in Mediawiki.
vars="var1=value1&var2=value2"
The following predefined variables are automatically expanded if existing:
Inclusion
<noinclude> .. </noinclude> is stripped.
<includeonly> .. </includeonly> is only expanded in pages using the template, not in the template itself.