Module:Bases
Utilisation
Ce module permet de renseigner la documentation des modèles thématiques du Projet:Bases.
Pour renseigner la documentation du modèle en insérant ou en remplaçant le contenu de la section Utilisation par (exemple donné pour le modèle {{Bases littérature}}){{#invoke:Bases|documentation|name=littérature|headername=à la littérature|namebis=la littérature}}
<!-- L'édition du module se fait à la page [[Module:Bases/littérature]] en particulier pour l'édition des colonnes Libellé et URL. Pour renseigner la langue cliquez sur le propriété correspondante, éditez le paramètre ''format de l'URL'' et ajoutez le qualifier ''langue de l'œuvre, du nom ou du terme'' avec la ou les langues voulues.-->
le paramètre namebis doit compléter la phrase bases de données en lien avec xxx
Le paramètre complet=faux
enlève l'affichage du nombre de pages dans chaque catégorie, l'appel à Pagesincat étant très coûteux, ce paramètre est recommandé pour les bases importantes en taille afin de permettre leur affichage.
Exemples
Pour des exemples, voir la page de test permettant de tester diverses modifications apportées.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (modifier).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local p = {}
local wikidata = require "Module:Wikidata"
function p.main(frame)
-- Récupération des paramètres, soit ceux passés par le modèle,
-- soit ceux passés au modèle
local args = frame.args
if frame.getParent then
args = frame:getParent().args
end
-- Chargement des données de la base souhaitée
local bases = require "Module:Bases/" .. args.name
-- Récupération des propriétés wikidata de l'entité sélectionné
local entity = mw.wikibase.getEntityObject(id)
if not entity then
return "[[Catégorie:Article utilisant le modèle Bases " .. args.name .. " inactif]]"
end
-- Pour chaque base dans notre liste, on vérifie si notre entité la possède
-- si c'est le cas, on formate et ajoute un lien vers elle dans une liste
local vals = {}
for i, base in pairs(bases) do
local val = wikidata.formatStatements{entity = entity, text = base[1], property = base[2], urlpattern = base[3], numval = 1, addcat = true, qualifier = 'P407', qualifiervalue = 'Q150'} or wikidata.formatStatements{entity = entity, text = base[1], property = base[2], urlpattern = base[3], numval = 1, addcat = true}
if val then
table.insert(vals, val)
end
end
-- On catégorise s'i l'entiité ne possède aucune des bases listés
if #vals == 0 then
return "[[Catégorie:Article utilisant le modèle Bases " .. args.name .. " inactif]]"
end
-- Concaténation des liens et formatage final
local header = ''
if #vals > 1 then
header = "Ressources relatives " .. args.header .. " : "
else
header = "Ressource relative " .. args.header .. " : "
end
return wikidata.addLinkBack(header .. table.concat( vals, ' • ' ), entity, "identifiers" ) -- lien vers la section approriété de Wikidata
end
return p