Постоянно защищенный модуль
Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Документация по модулю [ просмотреть ] [ изменить ] [ историю ] [ очистить ]

Этот модуль может быть добавлен к шаблону для проверки использования кортежей конфликтующих параметров.

Применение

Основное использование

{{#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