И тем, и другим можно передавать некие настройки или другую информацию. Параметры (или аргументы) передаются через запятую, причём параметр может: ¶
Имя параметра, если оно есть, отделяется от значения знаком «равно»: {{Действие имя=значение}}. Несколько параметров: {{Действие имя=значение, имя2=другое значение}}. ¶
Если значение параметра содержит «равно» или запятую, то достаточно взять в кавычки всё значение. Тоже самое относится и к именам (хотя в целях читаемости разработчикам стоит избегать таких «имён»): ¶
Вокруг «=» можно ставить пробелы для большей читаемости — они игнорируются. То же самое относится и к пробелам после запятой. ¶
Форматтеры принимают параметры точно также: ¶
%%(wrapper_page wrapper_width=30) Ко лон ка %% |
Ко лон ка |
Если нужно передать действию параметр, содержащий его закрывающий тег (}}), то параметр можно экранировать тильдой: {{FormatDescription inherits={{Class $~}}, type=**$**}}. ¶
Для большей схожести с настоящим текстом **после имени действия или стиля для форматтера может идти двоеточие с последующим пробелом (или несколькими). Например: ¶
Оба варианта идентичны: * {{Description тип=массив, значение% = "%%(php) array('value', ...)%%" }} * {{Description: тип=массив, значение% = "%%(php) array('value', ...)%%" }} |
Оба варианта идентичны: ¶
|
Некоторые форматтеры и действия поддерживают сокращённую форму записи для параметров без заданного имени. Пример — действие картинки, которое принимает параметры file и title. Их можно передать так (все способы эквивалентны): ¶
**Первый же параметр, переданный с указанием имени, отменяет позиционную передачу для всех последующих.** Иными словами, так не работает: {{Картинка file=photo.jpg, Наша фотка}}. ¶
Ещё один пример — действие оглавления, которое имеет один параметр up to, задающий глубину включаемых в содержание заголовков: ¶
Позиционная передача работает до первого переданного поимённо параметра — см. порядку или флаг?. ¶
Если параметр не имеет имени и не передаётся позиционно, то он считается флагом.
Флаг — просто параметр, имеющий значение «1» (True). Обычно он что-то «включает».
Для нас, пользователей, это ничего не меняет — просто другое смысловое название для
такого типа праметров. Например:
¶
Иногда может возникнуть ситуация, когда параметр, переданный без имени, может быть истолкован одновременно как переданный по позиции (1-й, 2-й, 3-й и т. д. аргумент), или как флаг (параметр со значением «1») — такие параметры всегда считаются переданными позиционно. ¶
Например, действие {{Вставить}} принимает позиционно 2 параметра: ¶
А также 1 параметр по имени: ¶
Тогда при вызове этого действия такой строкой: {{Вставить Секция, isolate}} — isolate может быть трактован и как разметка (аргумент на 2-й позиции), и как флаг по имени isolate. Этот спор всегда решается в пользу позиционной передачи, поэтому чтобы isolate воспринялся как флаг, его нужно явно установить в 1: {{Вставить Секция, isolate=1}}. ¶
Для сравнения, если мы укажем разметку явно, то isolate будет считаться флагом, ибо все позиционные параметры уже были переданы: {{Вставить Секция, wiki, isolate}}. ¶
Заметьте, что позиционная передача работает до первого переданного поимённо параметра: {{Вставить page=Секция, isolate}} — здесь, несмотря на то, что ни один параметр не передан позиционно, первый параметр уже имеет имя, поэтому и isolate — флаг. ¶