Модул:ParamValue2Value/doc
This is the documentation page for Модул:ParamValue2Value
Этот модуль оценён как готовый к использованию. Предпологается, что все баги устранены и он готов для широкого использования. Его можно указывать на справочных страницах и рекомендовать к использованию новым участникам. Для его изменения и тестирования, пожалуйста, используйте песочницу. |
Этот модуль позволяет в отдельных случаях избавиться от нужды использовать в неименованных параметрах шаблона костыли типа шаблона {{=}}
, HTML-сущности = или ручной нумерации параметров. Он:
- принимает от шаблона параметры, с которыми тот был вызван;
- преобразует именованные параметры вида
параметр=значение
, за исключением тех, имя которых начинается со знака подчёркивания_
, и перечисленных через/
в параметре_exceptions
, в неименованные, соединяя имя параметра и его значение знаком=
и добавляя получившийся параметр в конец списка; - передаёт все параметры в шаблон, указанный в параметре
_pass_to
.
Важно: пока не будет решена проблема искажённого порядка именованных параметров в Scribunto, модуль будет стабильно работать только при одном, и не больше, именованном параметре, который надо преобразовать; иначе порядок следования параметров может изменяться безо всякой логики. Причём параметр, в который может затесаться знак «=», должен быть последним в списке, иначе порядок исказится.
В частности, он используется в шаблонах для ссылок на шаблоны с указанием параметров, таких как {{tp}}, {{tc}} и {{tlc}}. Например, в шаблоне {{tp}} он вызывается так:
{{#invoke:ParamValue2Value|main|_pass_to=tp/formatting}}
В шаблоне tp/formatting осуществляется финальное форматирование, и в результате мы можем вызвать {{tp}} с именованными параметрами, не используя для этого костыли в виде шаблона {{=}}
, HTML-сущности = или ручной нумерации параметров:
{{tp|шаблон|параметр 1|параметр 2=значение}}
→{{шаблон|параметр 1|параметр 2=значение}}