Release status: stable |
|
|---|---|
| Implementation | Tag, Parser function |
| Description | Displays a random option from the given set |
| Author(s) |
|
| Latest version | 3.0.0 (2018-09-09) |
| MediaWiki | 1.39+ |
| Database changes | No |
| License | GNU General Public License 2.0 or later |
| Download | Download extension Git [?]: |
| Example | |
|
Tags
|
|
|
Hooks used
|
|
| Quarterly downloads | 47 (Ranked 123rd) |
| Public wikis using | 7,190 (Ranked 23rd) |
| Translate the RandomSelection extension if it is available at translatewiki.net | |
The RandomSelection extension allows for randomly-generated content inside your wiki; e.g. rotating images, random greetings, etc.
Installation
- Download and place the file(s) in a directory called
RandomSelectionin yourextensions/folder. - Add the following code at the bottom of your LocalSettings.php file:
wfLoadExtension( 'RandomSelection' );
Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
Usage
Tags
To choose between one or more options, simply place each option inside an <option> tag which are themselves placed inside <choose> tags, like so:
<choose>
<option><translate nowrap><!--T:35--> This is the first choice.</translate></option>
<option><translate nowrap><!--T:36--> This is the second choice.</translate></option>
<option><translate nowrap><!--T:37--> And so on...</translate></option>
</choose>
From each set of <choose> tags, precisely one <option> tag will be selected at random, and its contents shown.
Anything can be placed inside of option tags: links, images, even templates.
You can also have what is placed inside the option tags be sent as an argument to a template with the <choicetemplate> tag, e.g.:
<choose>
<option>Template:Featured article/Elephant</option>
<option>Template:Featured article/Giraffe</option>
<option>Template:Featured article/Rhinoceros</option>
<choicetemplate>PageWithEditButton</choicetemplate>
</choose>
You could then create a [[Template:PageWithEditButton]] with these contents:
[{{canonicalurl:{{{1}}}|action=edit}} Edit] {{{{{1}}}}}
This is useful if you want to set up randomly rotating featured articles and have an edit button to allow the user to edit the featured article blurbs.
Parameters to <choose>
| Parameter | Description |
|---|---|
uncached |
Disable caching for the chosen option |
before |
Put this text before the chosen option |
after |
Put this text after the chosen option |
<choose> tag is disabled only if the user specifies <choose uncached>. Previously caching was disabled by default. If you wanted to disable caching for the options, you should add the uncached parameter.
<choose uncached>
<option><translate nowrap><!--T:38--> This is the first choice.</translate></option>
<option><translate nowrap><!--T:39--> This is the second choice.</translate></option>
<option><translate nowrap><!--T:40--> And so on...</translate></option>
</choose>
If you wanted to display one of three YouTube videos, you could try this (Extension:Widgets and Extension:YouTube required):
<choose before="{{#widget: YouTube|id=" after="}}">
<option>eR7-AUmiNcA</option><!--King of Anything-->
<option>cSCi7kCXKDA</option><!--Slipping Through My Fingers-->
<option>7n2d9XPsmmE</option><!--When Death Note Music Plays in My Car-->
</choose>
Parameters to <option>
| Parameter | Description |
|---|---|
weight |
Weight of the option |
If you'd like some options to be shown more often than others, you can add weight to the option tags, like so:
<choose>
<option weight="2"><translate nowrap><!--T:41--> This option will be shown twice as often as a normal option.</translate></option>
<option><translate nowrap><!--T:42--> By default, options have a weight of 1.</translate></option>
<option weight="1.5"><translate nowrap><!--T:43--> This option also has a weight of 1.</translate> <translate nowrap><!--T:44--> Fractional portions are ignored.</translate></option>
</choose>
Parser function
To choose between one or more options, simply place each option inside the #choose: parser function, like so:
{{#choose:
|<translate nowrap><!--T:45--> This is the first choice.</translate>
|<translate nowrap><!--T:46--> This is the second choice.</translate>
|<translate nowrap><!--T:47--> And so on...</translate>
}}
From each choice divided by a pipe, precisely one choice will be selected at random, and its contents shown. Anything can be placed inside: links, images, even templates.
See also
- Extension:RandomImage — Allows for randomisation of multimedia content on a page
| This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |