м (Бот: изменено с zh:Help:Parser函數 на zh:Help:解析器函數) Метка: apiedit |
м (clean up, replaced: Викия → Фэндом (3)) Метка: apiedit |
||
Строка 21: | Строка 21: | ||
;<code><nowiki>{{fullurl:}}</nowiki></code> |
;<code><nowiki>{{fullurl:}}</nowiki></code> |
||
:Возвращает URL ссылку заданной страницы. |
:Возвращает URL ссылку заданной страницы. |
||
− | :<code><nowiki>{{fullurl: |
+ | :<code><nowiki>{{fullurl:Фэндом}}</nowiki></code> → {{fullurl:Фэндом}} |
;<code><nowiki>{{#language:}}</nowiki></code> |
;<code><nowiki>{{#language:}}</nowiki></code> |
||
:Конвертирует языковой код в название языка. |
:Конвертирует языковой код в название языка. |
||
Строка 37: | Строка 37: | ||
== Расширение ParserFunctions == |
== Расширение ParserFunctions == |
||
− | Одним из самых популярных MediaWiki расширений является расширение [[mediawikiwiki:Extension:ParserFunctions|ParserFunctions]], добавляющее новые полезные функции. Оно по умолчанию включено на всём пространстве |
+ | Одним из самых популярных MediaWiki расширений является расширение [[mediawikiwiki:Extension:ParserFunctions|ParserFunctions]], добавляющее новые полезные функции. Оно по умолчанию включено на всём пространстве Фэндома и в нём присутствуют функции устаревшего расширения [[mediawikiwiki:Extension:StringFunctions|StringFunctions]], в частности значимая функция <tt><nowiki>{{#explode}}</nowiki></tt>. |
Расширении ParserFunctions включает в себя функции для математических операций, операций с условиями и операций с временем. Полный список и документацию по данному расширению можно найти [[mediawikiwiki:Help:Extension:ParserFunctions/ru|на официальной странице расширения]]. |
Расширении ParserFunctions включает в себя функции для математических операций, операций с условиями и операций с временем. Полный список и документацию по данному расширению можно найти [[mediawikiwiki:Help:Extension:ParserFunctions/ru|на официальной странице расширения]]. |
Версия от 20:14, 28 сентября 2016
Синтаксический анализатор — часть кода MediaWiki, позволяющая выполнять логические операции, во время выполнения которых анализатор использует параметры, заданные заранее, и выводит результат.
Анализатор заполняется также, как и шаблоны, используя фигурные скобки. Их можно легко распознать по наличию двоеточия или решётки (#) в функции (или же всего сразу, как в случае с {{#if:}}
).
Список всех доступных анализаторов на вики можно найти на странице «Служебная:Version».
Шаг за шагом
- Подберите нужную функцию анализатора, подходящую для вашей логической операции. Обратите внимание на то, что существует много других доступных функций, позволяющих намного быстрее и легче провести ту или иную операцию.
Ниже раздела с примером находится дополнительная информация с ссылками, позволяющими подробнее ознакомится с каждым видом функции анализатора. - Определите правильный синтаксис, который будете использоваться в функции.
В нашем случае, мы будем использовать функцию{{#ifexpr:}}
, которая доступна на всех вики по умолчанию. Её синтаксис:
{{#ifexpr: условие | значение, если условие истинно | значение, если условие ложно }} - Заполним синтаксис функции.
{{#ifexpr: 1 > 0 | да | нет }}
В примере выше мы использовали математическое условие (1 > 0), при истинном значении которого анализатор выдаст нам да, а при ложном значении нет. - Сохраните страницу с анализатором и убедитесь, что функция возвращает ожидаемое значение. В нашем примере анализатор должен вернуть значение да, так как 1 больше, чем 0.
{{#ifexpr: 1 > 0 | да | нет }} → да.
Посмотрим, что произойдёт, если мы изменим условие на 1 < 0. В данном случае анализатор вернёт нам значение нет.
{{#ifexpr: 1 < 0 | да | нет }} → нет.
Пример выше может показаться глупым, ведь мы всегда знаем, что 1 больше 0. Но его возможности увеличиваются, когда мы используем переменную в условии. Давайте представим, что вы создаёте инфобокс для вики о TV шоу и хотите автоматически определять возрастную группу персонажа по его возрасту.
Добавив в свой инфобокс анализатор {{#ifexpr: {{{Возраст}}} >= 18 | Этот персонаж взрослый | Этот персонаж подросток }}
, вы получите значение Этот персонаж взрослый, если заданная вами переменная "Возраст" будет больше или равна 18. Если же меньше, анализатор вернёт вам значение Этот персонаж подросток.
Встроенные в MediaWiki анализаторы
Программное обеспечение MediaWiki по умолчанию имеет свои собственные анализаторы, весь список которых можно найти на MediaWiki.org. В нашем случае мы приведём самые полезные.
{{fullurl:}}
- Возвращает URL ссылку заданной страницы.
{{fullurl:Фэндом}}
→ https://community.fandom.com/ru/wiki/%D0%A4%D1%8D%D0%BD%D0%B4%D0%BE%D0%BC{{#language:}}
- Конвертирует языковой код в название языка.
{{#language:es}}
→ español{{lc:}}
- Переводит все буквы строки в строчные (противоположный эффект у
{{uc:}}
). {{lc:ПРИВЕТ}}
→ привет{{ns:}}
- Определяет название пространства имён по его номеру.
{{ns:4}}
→ Вики Сообщества{{plural:}}
- Выводит форму множественного числа (исключая первый параметр) в зависимости от числа (первый параметр).
{{PLURAL:3|страница|страницы|страниц}}
→ страницы{{PLURAL:5|страница|страницы|страниц}}
→ страниц
Расширение ParserFunctions
Одним из самых популярных MediaWiki расширений является расширение ParserFunctions, добавляющее новые полезные функции. Оно по умолчанию включено на всём пространстве Фэндома и в нём присутствуют функции устаревшего расширения StringFunctions, в частности значимая функция {{#explode}}.
Расширении ParserFunctions включает в себя функции для математических операций, операций с условиями и операций с временем. Полный список и документацию по данному расширению можно найти на официальной странице расширения.
Другие расширения
Существуют также несколько других популярных расширений, добавляющих новый функции анализатора.
- Arrays - добавляет {{#arraydefine}}, {{#arrayprint}}, {{#arraysearcharray}}.
- Semantic MediaWiki - добавляет {{#ask}}, {{#set}}, {{#show}}.
- Semantic Forms - добавляет {{#formlink}}, {{#forminput}}, {{#arraymap}}
- Simple Calendar - добавляет {{#calendar}}
- Variables - добавляет {{#var}}, {{#vardefine}}, {{#vardefineecho}}.