Перейти к навигации Перейти к поиску
Документация по модулю [ просмотреть ] [ изменить ] [ историю ] [ очистить ]
Этот модуль оценен как бета-версия и готов к широкому использованию. Он все еще новый, и его следует использовать с некоторой осторожностью, чтобы гарантировать ожидаемые результаты. |
Этот модуль Lua используется примерно на 572 000 страницах, или примерно на 1% всех страниц. Чтобы избежать серьезных сбоев и нагрузки на сервер, любые изменения следует тестировать на подстраницах модуля / sandbox или / testcases , или в изолированной программной среде вашего собственного модуля . Протестированные изменения могут быть добавлены на эту страницу одним редактированием. Обсудите изменения на странице обсуждения, прежде чем внедрять их. |
Этот модуль может быть добавлен к шаблону для проверки использования кортежей конфликтующих параметров.
Применение
Основное использование
{{#invoke: Проверить наличие затертых параметров | проверить| вложенный = 1| template = Название шаблона| cat = {{main other | Category: Некоторая категория отслеживания}}| arg1a; arg1b | arg2a; arg2b; arg2c | ... | argNa; argNb}}
Здесь, ( arg1a
, arg1b
), ( arg2a
, arg2b
, arg2c
), являются кортежи из конфликтующих параметров.
По умолчанию модуль игнорирует пустые параметры, что полезно для цепочек параметров {{ if empty }}. Для вложенных цепочек параметров используйте также, |nested=1
чтобы учитывать пустые параметры.
По умолчанию для кортежей используется разделитель, ;
но его можно изменить с помощью |delimiter=
.
Значение |template=
используется для текста предупреждающего сообщения предварительного просмотра. Если не указано иное, модуль будет использовать общее сообщение.
Пример 1
{{Инфобокс| выше = {{{name |}}}| label1 = Основатель {{# if: {{{основатели |}}} | s}}| data1 = {{если пусто | {{{основатели |}}} | {{{основатель |}}}}}| label2 = Штаб-квартира| data2 = {{если пусто | {{{штаб |}}} | {{{hq |}}} | {{{location |}}}}}}} <! - конец информационного окна, начать отслеживание-> {{# invoke: Проверить наличие затертых параметров | проверить| template = Пример информационного окна| cat = {{main other | Категория: страницы, использующие пример информационного окна с конфликтующими параметрами}}| учредители; основатель| штаб-квартира; hq; место расположения}}
Пример 2
{{Инфобокс| выше = {{{name |}}}| label1 = Основатель (и)| data1 = {{{основатели | {{{основатель |}}}}}}| label2 = Штаб-квартира| data2 = {{{штаб-квартира | {{{hq | {{{location |}}}}}}}}}}} <! - конец информационного окна, начать отслеживание-> {{# invoke: Проверить наличие затертых параметров | проверить| вложенный = 1| template = Пример информационного окна| cat = {{main other | Категория: страницы, использующие пример информационного окна с конфликтующими параметрами}}| учредители; основатель| штаб-квартира; hq; место расположения}}
Смотрите также
- Модуль: проверка неизвестных параметров
- Модуль: проверьте устаревшие параметры
- Шаблон: категория конфликтующих параметров (для использования на страницах категорий)
местный p = {}локальная функция обрезки ( ы )return s : match ( '^% s * (.-)% s * $' )конецлокальная функция isnotempty ( s )вернуть s и s : match ( '% S' )конецфункция p . чек ( рамка )локальные аргументы = фрейм . аргументылокальные pargs = frame : getParent (). аргументыlocal checknested = isnotempty ( args [ 'вложенный' ])local delimiter = isnotempty ( args [ 'delimiter' ]) и args [ 'delimiter' ] или ';'местный кот = ''если args [ 'cat' ] и mw . ustring . match ( args [ 'cat' ], '^ [Cc] [Aa] [Tt] [Ee] [Gg] [Oo] [Rr] [Yy]:' ) затемcat = args [ 'кошка' ]конецместный res = ''local argpairs = {}для k , v в парах ( args ) делаемесли type ( k ) == 'number', толокальный plist = mw . текст . разделить ( v , разделитель )местный pfound = {}местный счетчик = 0для II , ст в ipairs ( PLIST ) делаютvv = обрезка ( vv )если checknested и pargs [ vv ] или isnotempty ( pargs [ vv ]), тоcount = count + 1table.insert ( pfound , vv )конецконецесли count > 1, тоtable.insert ( argpairs , pfound )конецконецконецlocal warnmsg = {}если # argpairs > 0, тодля i , v в ipairs ( argpairs ) делаемtable.insert ( warnmsg , 'Использование более одного из следующих параметров: <code>' ..table.concat ( v , '</code>, <code>' ) .. '</code>' )если кошка ~ = '', тоres = res .. '[[' .. cat .. '|' .. ( v [ 1 ] == '' и '' или '' ) .. v [ 1 ] .. ']]'конецконецконецесли # warnmsg > 0, тоесли frame : preprocess ( "{{REVISIONID}}" ) == "", тоlocal ptxt = args [ 'template' ] и args [ 'template' ] .. 'warning' или 'Warning'Рез = '<DIV класс = "hatnote" стиль = "цвет: красный"> <сильный>' .. ptxt .. ': </ STRONG>' .. table.concat ( warnmsg , '<br>' ) .. '</div>' .. resконецконецвернуть resконецвернуть p