![]() 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
RandomSelection
in yourextensions/
folder. - Add the following code at the bottom of your LocalSettings.php
wfLoadExtension( 'RandomSelection' );
file: 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. |