Modul:parameters/dok

Ovo je dokumentaciona podstranica za Модул:parameters

This module provides processing and checking of template arguments.

proces[uredi]

process(args, params, return_unknown)

Obrađuje argumente sa datom listom parametara i vraća tabelu koja sadrži obrađene argumente. The args parametar određuje argumente koji se obrađuju; oni su argumenti iz kojih možete izvućiframe:getParent().args. The params parametar određuje listu važećih parametara i sastoji se od tabele. Ako se nađe neki argument koji nije u tabeli parametara, prikazuje se greška.

Tabela parametara treba da ima imena parametara kao indekse i (možda praznu) tablicu oznaka parametara kao vrednost. Prazna tabela kao vrednost samo navodi da taj parametar postoji, ali ne bi trebao dobiti poseban tretman. Sledeće su navedene oznake parametara.

Tabela primera parametara (from Module:translations):

{
	[1] = {required = true, default = "und"},
	[2] = {},
	[3] = {list = true},
	["alt"] = {},
	["sc"] = {},
	["tr"] = {},
}

The return_unknown parametar, ako je podešen na true, sprečava da funkcija izazove grešku kada dođe do argumenta sa imenom koje ne prepoznaje. Umesto toga, povratna vrednost je par vrednosti: prvi su obrađeni argumenti kao i obično, dok drugi sadrže sve nepoznate argumente koji su ostali neobrađeni. Ovo vam omogućava da obavljate višestepenu obradu, gde ceo skup argumenata kojeg treba prihvatiti predložak nije poznat odjednom. Na primer, tabela preloma može izvršiti neku generičku obradu po nekim argumentima, ali onda odloži obradu ostatka na funkciju koja se bavi određenim fleskalnim tipom.

Parameter tags[uredi]

required=true
The parameter is required; an error is shown if it is not present. The template's page itself is an exception; no error is shown there.
default=
Specifies a default value for the parameter, if it is absent or empty. When used on list parameters, this specifies a default value for the first item in the list only. Note that it is not possible to generate a default that depends on the value of other parameters.
If used together with required=true, the default applies only to the template's page itself. This can be used to show an example text.
alias_of=
Treat the parameter as an alias of another. When arguments are specified for this parameter, they will automatically be renamed and stored under the alias name. This allows for parameters with multiple alternative names, while still treating them as if they had only one name. It is even possible for the alias_of= to have a name that is not a parameter itself.
Aliases should not be required, as this prevents the other name or names of the parameter from being used. Parameters that are aliases and required at the same time are tracked (see Special:WhatLinksHere/Template:tracking/parameters/required alias).
allow_empty=true
If the argument is an empty string value, it is not converted to nil, but kept as-is.
allow_whitespace=true
Spacing characters such as spaces and newlines at the beginning and end of a positional parameter are not removed.
type=
Specifies what value type to convert the argument into. The default is to leave it as a text string. Alternatives are:
type="boolean"
The value is treated as a boolean value, either true or false. No value, the empty string, and the strings "0", "no", "n" and "false" are treated as false, all other values are considered true.
type="number"
The value is converted into a number, unless it is nil.
list=
Treat the parameter as a list of values, each having its own parameter name, rather than a single value. The parameters will have a number at the end, except for the first. For example, list=true on a parameter named "head" will include the parameters |head=, |head2=, |head3= and so on. If the parameter name is a number, another number doesn't get appended, but the counting simply continues, e.g. for parameter 3 the sequence is |3=, |4=, |5= etc. List parameters are returned as numbered lists, so for a template that is given the parameters head=a|head2=b|head3=c, the processed value of the parameter "head" will be {"a", "b", "c"}.
The value for list= can also be a string. This tells the module that parameters other than the first should have a different name, which is useful when the first parameter in a list is a number, but the remainder is named. An example would be for genders: list="g" on a parameter named 1 would have parameters |1=, |g2=, |g3= etc.
If the number is not located at the end, it can be specified by putting an equal sign "=" at the number position. For example, parameters "f1accel", "f2accel", ... can be captured by using the parameter name "f=accel", as is done in Module:headword/templates.
allow_holes=true
This is used in conjunction with list-type parameters. By default, the values are tightly packed in the resulting list. This means that if, for example, an entry specified head=a|head3=c but not |head2=, the returned list will be {"a", "c"}, with the values stored as index 1 and 2, not 1 and 3. If it is desirable to keep the numbering intact, for example if the numbers of several list parameters correlate with each other (like those of {{compound}}), then this tag can be specified.
If allow_holes=true is given, there may be nil values in between two real values, which makes many of Lua's table processing functions no longer work, like # or ipairs(). To remedy this, the resulting table will contain an additional named value, maxindex, which tells you the highest numeric index that is present in the table. In the example above, the resulting table will now be {"a", nil, "c", maxindex=3}. That way, you can iterate over the values from 1 to maxindex, while skipping nil values in between.