Movatterモバイル変換


[0]ホーム

URL:


Vai al contenuto
WikipediaL'enciclopedia libera
Ricerca

Modulo:Controllo parametri sconosciuti

Questa pagina è protetta dallo spostamento
Questa pagina è protetta
Da Wikipedia, l'enciclopedia libera.
InfoIstruzioni per l'uso
Questo è unmodulo scritto inLua. Le istruzioni che seguono sono contenute nellasottopaginaModulo:Controllo parametri sconosciuti/man (modifica ·cronologia)
Sandbox:Modulo:Controllo parametri sconosciuti/sandbox (modifica ·cronologia) · Sottopagine:lista · Test:Modulo:Controllo parametri sconosciuti/test (modifica ·cronologia ·esegui)

Modulo per controllare se un template è utilizzato con parametri sconosciuti. Va usato nel template, specificando la lista dei nomi dei parametri validi e il testo da restituire in caso di errore, come un messaggio o una categoria di servizio.

Sintassi

{{#invoke:Controllo parametri sconosciuti|check|sconosciuto=...|elenco parametri validi}}

Parametri:

  • sconosciuto = serve per definire il testo da restituire ogni volta che viene trovato un parametro sconosciuto. Può essere per esempio un messaggio di errore o una categoria, oppure entrambe le cose. Ha come valore predefinito "Trovato _VALUE_, " (dove _VALUE_ è un segnaposto che verrà sostituito col nome del parametro sconosciuto).
  • ignoravuoti = se valorizzato con qualunque valore, per esempio 1, il controllo non viene effettuato sui parametri senza valore.
  • controlloposizionali = se valorizzato con qualunque valore, per esempio 1, il controllo viene effettuato anche sui parametri posizionali.
  • regexp1,regexp2, ecc. = consentono di specificare i nomi dei parametri validi coi pattern Lua.
  • ns = quando il parametro "sconosciuto" restituisce una categoria, la categorizzazione è di default esclusa da tutti i namespace di discussione e da quello Utente; con questo parametro è invece possibile attivarla per il namespace specificato (qualunque esso sia) e circoscriverla unicamente a esso. Vengono accettati come valori solamente i numeri dei namespace, non i loro nomi per esteso.

Esempi

Gli esempi si riferiscono a un ipotetico template di nome Prova, che accetta solo tre parametri: Nome, Immagine e Anno. Il codice seguente andrebbe inserito all'interno del template Prova, preferibilmente al fondo.

  1. Categorizza ogni voce che usa il template Prova e utilizza un parametro diverso da Nome, Immagine o Anno nella categoria "Voci con template Prova con parametri sconosciuti":
    {{#invoke:Controllo parametri sconosciuti|check|sconosciuto=[[Categoria:Voci con template Prova con parametri sconosciuti]]|Nome|Immagine|Anno}}
  2. Visualizza il messaggio di errore "Errore il parametro ... è sconosciuto" in ogni voce che usa il template Prova e utilizza un parametro diverso da Nome, Immagine o Anno:
    {{#invoke:Controllo parametri sconosciuti|check|sconosciuto=<span>Errore: il parametro _VALUE_ è sconosciuto</span>|Nome|Immagine|Anno}}



--[[* Modulo per controllare se un template è utilizzato con parametri sconosciuti.* Va usato nel template, specificando la lista dei nomi dei parametri validi e* il testo da ritornare in caso di errore, come un messaggio o una categoria di servizio.** Il modulo è stato importato da:* http://en.wikipedia.org/w/index.php?title=Module:Check_for_unknown_parameters&oldid=669492475]]--localp={}localfunctionisnotempty(s)returnsands:match('^%s*(.-)%s*$')~=''endfunctionp.check(frame)localargs=frame.argslocalpargs=frame:getParent().argslocalignoreblank=isnotempty(frame.args['ignoravuoti'])localcheckpos=isnotempty(frame.args['controlloposizionali'])localknownargs={}localunknown='Trovato _VALUE_, 'localres={}localregexps={}localcomments={}localcommentstr=''-- è abilitato in tutti i namespace non di discussione e non utente,-- oppure solo in quello definito nel parametro "ns"localns=mw.title.getCurrentTitle().namespaceifargs.nsthenifns~=tonumber(args.ns)thenreturn''endelseifns==2or(ns%2==1)thenreturn''end-- create the list of known args, regular expressions, and the return stringfork,vinpairs(args)doiftype(k)=='number'thenv=mw.ustring.gsub(v,'^%s*(.-)%s*$','%1')knownargs[v]=1elseif(k=='sconosciuto'andtype(v)=='string')thenunknown=velseif(mw.ustring.match(k,'^regexp[%d]*$')andtype(v)=='string')thentable.insert(regexps,'^'..v..'$')endendend-- loop over the parent args, and make sure they are on the listfork,vinpairs(pargs)doif(type(k)=='string'andknownargs[k]==nil)thenlocalknownflag=nilforr=1,#regexpsdoif(mw.ustring.match(k,regexps[r]))thenknownflag=1endendif((notknownflag)and((notignoreblank)or(ignoreblankandisnotempty(v))))thenk=mw.ustring.gsub(k,'[^%w\-_ ]','?')localr=mw.ustring.gsub(unknown,'_VALUE_',k)table.insert(res,r)table.insert(comments,'"'..k..'"')endelseif(checkposandtype(k)=='number'andknownargs[tostring(k)]==nil)thenif((notignoreblank)or(ignoreblankandisnotempty(v)))thenlocalr=mw.ustring.gsub(unknown,'_VALUE_',k)table.insert(res,r)table.insert(comments,'"'..k..'"')endendendif(#comments>0)thencommentstr='<!-- Modulo:Controllo parametri sconosciuti: '..table.concat(comments,', ')..'-->'endreturntable.concat(res)..commentstrendreturnp
Estratto da "https://it.wikipedia.org/w/index.php?title=Modulo:Controllo_parametri_sconosciuti&oldid=95565263"
Categoria:
Categoria nascosta:

[8]ページ先頭

©2009-2026 Movatter.jp