MediaWiki extensions manual
RandomSelection
Release status: stable
Implementation Tag , Parser function
Description Displays a random option from the given set
Author(s)
  • Ross McClure
  • Jack Phoenix
Latest version 3.0.0 (2018-09-09)
MediaWiki 1.39+
Database changes No
License GNU General Public License 2.0 or later
Download
Example
Tags
  • <choose>
  • <option>
  • <choicetemplate>
Hooks used
  • MagicWordwgVariableIDs
  • ParserFirstCallInit
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 your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'RandomSelection' );
    
  • Yes 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.

However, that template arguments will not be expanded due to task T4257.

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
Since version 2.2.2 caching in the <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 article is issued from Mediawiki. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.