Modulo:Sito ufficiale

Info Istruzioni per l'uso
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Sito ufficiale/man (modifica · cronologia)
Sandbox: Modulo:Sito ufficiale/sandbox (modifica · cronologia) · Sottopagine: lista · Test: Modulo:Sito ufficiale/test

Modulo che implementa il template {{Sito ufficiale}} (verifica).

Uso

Il modulo non va utilizzato direttamente, ma per implementare un template per i collegamenti esterni che debba ottenere il collegamento esterno esclusivamente da una proprietà Wikidata di tipo URL e di tipo "valore singolo". Possono esserci eccezioni che sono gestite automaticamente dal template visualizzando una lista. Se su Wikidata è stato utilizzato il qualificatore lingua dell'opera o del nome (P407) sarà anche indicata la lingua del sito web. Se il qualificatore ha più valori verrà visualizzata ciascuna lingua.

{{#invoke:Sito ufficiale|main|pid=|title=}}
  • pid: identificativo della proprietà Wikidata, il valore di default è "P856"
  • title: titolo del {{Cita web}}, il valore di default è "Sito ufficiale"



--[[
* Modulo che implementa il template Sito ufficiale.
]]--
 
require('strict')

local mWikidata = require('Modulo:Wikidata')
local mEditAtWikidata = require('Modulo:Modifica su Wikidata')
local p = {}

local function formatWebsite(website, title)
	return mw.getCurrentFrame():expandTemplate {
		title = 'Cita web',
		args = {
			url = website.url,
			titolo = title,
			lingua = table.concat(website.langs, ',')
		}
	}
end

local function getWebsites(pid)
	local claims
	local websites = {}

	claims = mWikidata._getClaims(pid) or {}
	for idx, claim in ipairs(claims) do
		local langs = mWikidata._formatQualifiers(claim, 'P407', { formatting = 'raw' }, true)
		langs = (#langs == 1 and langs[1] == 'Q652') and {} or langs
		for i, lang in ipairs(langs) do
			langs[i] = mWikidata._getLabel({ lang })
		end
		websites[idx] = {
			url = mWikidata._formatStatement(claim),
			langs = langs
		}
	end

	return websites
end

-- Funzione per il template
function p.main(frame)
	local websites = getWebsites(frame.args.pid or 'P856')
	for idx, website in ipairs(websites) do
		-- le proprietà utilizzate sono di tipo "valore singolo", aggiunge l'elenco puntato solo per le eccezioni
		websites[idx] = (idx > 1 and '*' or '') ..
						formatWebsite(website, frame.args.title or 'Sito ufficiale') ..
						mEditAtWikidata._showMessage({ pid = frame.args.pid or 'P856' })
	end
	return #websites > 0 and table.concat(websites, '\n') or ''
end

return p

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.