Difference between revisions of "Help:Templates"

From FamiLAB Wiki
Jump to: navigation, search
m
m
Line 1: Line 1:
 
{{PD text}}
 
{{PD text}}
If you have standard texts you want to include on several pages, the MediaWiki template feature comes into play. Templates are wiki pages which can be used in other pages in three ways:
+
If you have standard texts you want to include on several pages, the MediaWiki template feature comes into play.  
* <code><nowiki>{{Name</nowiki></code>}} includes the current content of the page "[[Template:Name]]".
 
* <code><nowiki>{{subst:Name</nowiki></code>}} inserts the content of the page "[[Template:Name]]" when you save your text.
 
* <code><nowiki>{{msgnw:Name</nowiki></code>}} includes the template in raw wiki syntax, like <code><nowiki>&lt;nowiki&gt;</nowiki></code> does
 
  
 
==Creating a template==
 
==Creating a template==
 +
Templates must be prefixed with <code><nowiki>Template</nowiki></code>, you create them like any other wiki page.
 +
 +
==Using a template==
 +
Templates are wiki pages which can be used in other pages in three ways:
 +
:<code><nowiki>{{Name</nowiki></code>}} includes the current content of the page "[[Template:Name]]".
 +
:<code><nowiki>{{subst:Name</nowiki></code>}} inserts the content of the page "[[Template:Name]]" when you save your text.
 +
:<code><nowiki>{{msgnw:Name</nowiki></code>}} includes the template in raw wiki syntax, like <code><nowiki>&lt;nowiki&gt;</nowiki></code> does
  
Templates must be prefixed with <code><nowiki>Template</nowiki></code>, you create them like any other wiki page.
+
==Using parameters in templates==
 
==Parameters==
 
 
<div style="float:right">
 
<div style="float:right">
 
{| {{Prettytable}}  
 
{| {{Prettytable}}  
 
|-
 
|-
|{{Hl2}} colspan="2" align="center" |'''Defining the template'''
+
|{{Hl2}} colspan="2" align="center" |'''Template with numbered parameters'''
 
|-
 
|-
 
| colspan="2" |
 
| colspan="2" |
Line 22: Line 24:
 
</nowiki></pre>  
 
</nowiki></pre>  
 
|-
 
|-
|{{Hl2}} colspan="2" align="center" |'''Using the template'''
+
|{{Hl2}}|'''You type'''
 +
|{{Hl2}}|'''You get'''
 +
|-
 +
|<code><nowiki>{{Thankyou|all|~~~}}</nowiki></code>
 +
|
 +
{{Thankyou|all|[[User:Someuser|Someuser]]}}
 
|-
 
|-
|{{Hl1}}|'''You type'''
+
|{{Hl2}} colspan="2" align="center" |'''with named parameters'''
|{{Hl1}}|'''You get'''
 
 
|-
 
|-
|<code><nowiki>{{Thankyou|all|~~~}}</nowiki></code>
+
| colspan="2" |
 +
<pre><nowiki>
 +
'''A little thank you...'''<br>
 +
<small>for {{{reason}}}.<br>
 +
hugs, {{{signature}}}</small>
 +
</nowiki></pre>
 +
|-
 +
|{{Hl2}}|'''You type'''
 +
|{{Hl2}}|'''You get'''
 +
|-
 +
|<pre><nowiki>{{Thankyou
 +
|reason=all
 +
|signature=~~~}}</nowiki></pre>
 
|
 
|
{{Thankyou|your good work|[[User:Someuser|Someuser]]}}
+
{{Thankyou|all|[[User:Someuser|Someuser]]}}
 
|}
 
|}
 
</div>
 
</div>
Line 36: Line 54:
 
'''Example:''' you want a litte thank you note you can put other users on their talk page with a reason and your signature. In the [[Template:Thankyou]] you enter your text.
 
'''Example:''' you want a litte thank you note you can put other users on their talk page with a reason and your signature. In the [[Template:Thankyou]] you enter your text.
  
When using the template on a page, you fill in the parameter values, separated by a pipe char (|): <code><nowiki>{{Thankyou|myreason|~~~}}</nowiki></code> or <code><nowiki>{{Thankyou|reason=happiness|signature=~~~}}</nowiki></code>. The advantage of using named parameters in your template is that they are flexible in order, it's also easier to keep track in a template with many parameters. If you want to change the order of numbered parameters, you have to mention them explicitly: <code><nowiki>{{Example|2=~~~|1=good work}}</nowiki></code>.
+
When using the template on a page, you fill in the parameter values, separated by a pipe char (|): <code><nowiki>{{Thankyou|all|~~~}}</nowiki></code> or - if you have used named parameters  <code><nowiki>{{Thankyou|reason=all|signature=~~~}}</nowiki></code>. The advantage of using named parameters in your template is that they are flexible in order. It also makes the template easier to understand if you have many parameters. If you want to change the order of numbered parameters, you have to mention them explicitly: <code><nowiki>{{Thankyou|2=~~~|1=all}}</nowiki></code>.
  
 
==Control template inclusion==
 
==Control template inclusion==
 
 
You can control template inclusion by the use of <code><nowiki><noinclude></nowiki></code> and
 
You can control template inclusion by the use of <code><nowiki><noinclude></nowiki></code> and
 
<code><nowiki><includeonly></nowiki></code> tags.
 
<code><nowiki><includeonly></nowiki></code> tags.
Line 45: Line 62:
 
Anything between <code><nowiki><noinclude></nowiki></code> and <code><nowiki></noinclude></nowiki></code> will be processed and
 
Anything between <code><nowiki><noinclude></nowiki></code> and <code><nowiki></noinclude></nowiki></code> will be processed and
 
displayed only when the page is being viewed directly, not included.
 
displayed only when the page is being viewed directly, not included.
 +
 
Possible applications are:
 
Possible applications are:
 
* Categorising templates
 
* Categorising templates

Revision as of 05:45, 7 September 2005

Template:PD text If you have standard texts you want to include on several pages, the MediaWiki template feature comes into play.

Creating a template

Templates must be prefixed with Template, you create them like any other wiki page.

Using a template

Templates are wiki pages which can be used in other pages in three ways:

{{Name}} includes the current content of the page "Template:Name".
{{subst:Name}} inserts the content of the page "Template:Name" when you save your text.
{{msgnw:Name}} includes the template in raw wiki syntax, like <nowiki> does

Using parameters in templates

Template:Hl2 colspan="2" align="center" |Template with numbered parameters
 
'''A little thank you...'''<br>
<small>for {{{1}}}.<br>
hugs, {{{2}}}</small>
Template:Hl2|You type Template:Hl2|You get
{{Thankyou|all|~~~}}
Example sunflower image
A little thank you...
for all.
hugs, Someuser
Template:Hl2 colspan="2" align="center" |with named parameters
 
'''A little thank you...'''<br>
<small>for {{{reason}}}.<br>
hugs, {{{signature}}}</small>
Template:Hl2|You type Template:Hl2|You get
{{Thankyou
|reason=all
|signature=~~~}}
Example sunflower image
A little thank you...
for all.
hugs, Someuser

You can define parameters in templates either numbered as {{{1}}} or named {{{param}}}.

Example: you want a litte thank you note you can put other users on their talk page with a reason and your signature. In the Template:Thankyou you enter your text.

When using the template on a page, you fill in the parameter values, separated by a pipe char (|): {{Thankyou|all|~~~}} or - if you have used named parameters {{Thankyou|reason=all|signature=~~~}}. The advantage of using named parameters in your template is that they are flexible in order. It also makes the template easier to understand if you have many parameters. If you want to change the order of numbered parameters, you have to mention them explicitly: {{Thankyou|2=~~~|1=all}}.

Control template inclusion

You can control template inclusion by the use of <noinclude> and <includeonly> tags.

Anything between <noinclude> and </noinclude> will be processed and displayed only when the page is being viewed directly, not included.

Possible applications are:

  • Categorising templates
  • Interlanguage links to similar templates in other languages
  • Explanatory text about how to use the template

The converse is <includeonly>. Text between <includeonly> and </includeonly> will be processed and displayed only when the page is being included. The obvious application is to add all pages containing a given template to a category.

Note that the usual update problems apply -- if you change the categories inside a template, the categories of the referring pages won't be updated until those pages are edited.