Modulo:IsInCat
Aspetto
Istruzioni per l'uso
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:IsInCat/man (modifica · cronologia)
Sandbox: Modulo:IsInCat/sandbox (modifica · cronologia) · Test: Modulo:IsInCat/test (modifica · cronologia · Esegui)
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:IsInCat/man (modifica · cronologia)
Sandbox: Modulo:IsInCat/sandbox (modifica · cronologia) · Test: Modulo:IsInCat/test (modifica · cronologia · Esegui)
Vedi anche
--[[
Source script: https://it.wikivoyage.org/wiki/Modulo:IsInCat
Maintainer: Andyrom75
Lazy loads:
require( 'Module:IsRedirect' ).IsRedirectVal
]]
local function _isDefined(s)
return s ~= '' and s
end
local function _IsInCat(frame)
local args = frame.args
if _isDefined(args[1]) then
frame:callParserFunction( '#IsIn', { args[1] } )
local output = '[[Categoria:' .. args[1] .. (_isDefined(args[2]) and ('|' .. args[2]) or '') .. ']]'
local pageName = mw.title.getCurrentTitle().text
local pagesInCategory = mw.site.stats.pagesInCategory( pageName ) > 0
if mw.title.getCurrentTitle().namespace == 14 then --NS:Categoria
if require( 'Module:IsRedirect' ).IsRedirectVal(pageName) == 'yes' then
local testoAvviso = "'''[[" .. pageName .. "]]''' è un redirect, probabilmente divenuto tale a seguito dello spostamento di una pagina"
.. (pagesInCategory and ". Le sottopagine di questa categoria potrebbero necessitare delle modifiche per essere associate ad una nuova categoria. Controlla il template [[Template:Quickfooter|Quickfooter]] alla fine dell'articolo e le categorie aggiunte di seguito per aggiornarne eventualmente i valori" or '')
output = output .. frame:expandTemplate{ title='Stile', args = { testoAvviso } }
.. (pagesInCategory and "[[Categoria:Categorie con articoli dal breadcrumb errato]]" or "[[Categoria:Categorie associate a redirect]]")
end
output = output .. frame:callParserFunction( '#ifexist', { "Categoria:" .. args[1], '', "[[Categoria:Categorie incluse in categorie inesistenti]]" } )
.. (args[1] ~= 'Utenti per lingua' -- per queste categorie NON mostro il successivo blocco DIV
and ("<div class='noprint' style='margin-top:1em;border:1px solid #aaaaaa;background-color: #F9F9F9;color: inherit;padding:3px;text-align:center;clear: both;'>Lista completa degli articoli e sottocategorie inerenti: '''"
.. frame:callParserFunction( '#ifexist', { pageName, "[[" .. pageName .. "]]", pageName } ) .. "'''<br />"
.. frame:callParserFunction( '#ifexist', { args[1], "<small>(Per ampliare la ricerca vedere: '''[[" .. args[1] .. "]]''')</small>" , '' } )
.. "</div>" ) or '')
end
return output
end
return ''
end
local p = {}
function p.IsInCatTemplate(frame)
return _IsInCat(frame:getParent())
end
function p.IsInCatInvoke(frame)
return _IsInCat(frame)
end
function p.IsInCatModule(frame)
local Cframe = mw.getCurrentFrame()
Cframe.args = frame.args
return _IsInCat(Cframe)
end
function p.IsInCatVal(value)
local Cframe = mw.getCurrentFrame()
Cframe.args = {value}
return _IsInCat(Cframe)
end
return p