Module:TagInfoCard
De Eco - Wiki Français
La documentation pour ce module peut être créée à Module:TagInfoCard/doc
local p = {}
local Utils = require('Module:Utils')
local IconUtils = require('Module:IconUtils')
local RecipeUtils = require('Module:RecipeUtils')
local Lang = Utils.getLanguageName()
function p.main(frame)
-- Récupération du nom de la page
local NomPage = frame.args[1]
-- Supprimer le suffixe "Tag" si présent
local TagSuffixe = string.gsub(Utils.Translate("{0} Tag"), "{0}", "")
NomPage = string.gsub(NomPage, TagSuffixe, "")
-- Déterminer le nom interne du tag selon la langue
local NomTag
if Lang == 'English' then
NomTag = NomPage
else
NomTag = Utils.TagSearch(NomPage)
end
-- Charger les modules de données
local TagData = require("Module:TagData")
local ItemData = require("Module:ItemData")
-- Récupérer les données du tag
local Tag = TagData.tags[NomTag]
if not Tag then
return "Tag introuvable : " .. NomTag
end
local TagID = Tag.ID
local ListeItems = Tag.Items
-- Début du texte Wiki
local WikiTexte = ""
WikiTexte = WikiTexte .. "__NOTOC__"
WikiTexte = WikiTexte .. "Nom de la page : " .. NomPage .. "</br>"
WikiTexte = WikiTexte .. "Nom du tag : " .. NomTag .. "</br>"
-- Catégorie
WikiTexte = WikiTexte .. "[[Catégorie:" .. Utils.Translate("Tags") .. "]]"
-- Icône du tag
WikiTexte = WikiTexte .. IconUtils.main{
name = Tag.Name[Lang],
id = TagID,
size = 128,
style = 4,
}
-- Liste des items associés
WikiTexte = WikiTexte .. "<h3>" .. Utils.Translate("Items in Tag", "Objets avec ce tag") .. " :</h3>"
WikiTexte = WikiTexte .. '<div class="row">'
for _, NomItem in pairs(ListeItems) do
local Item = ItemData.items[NomItem]
if Item then
WikiTexte = WikiTexte .. IconUtils.main{
name = Item.Name[Lang],
id = Item.ID,
size = 128,
style = 4,
link = Item.Name[Lang]
}
end
end
WikiTexte = WikiTexte .. "</div>"
-- Objets utilisant ce tag dans des recettes
local RecetteTagIngredients = RecipeUtils.TagIngredient(NomTag)
if RecetteTagIngredients ~= "" then
WikiTexte = WikiTexte .. "<h3>" .. Utils.Translate("Used in", "Utilisé dans") .. " :</h3>"
WikiTexte = WikiTexte .. RecipeUtils.CraftTable(RecetteTagIngredients)
end
return WikiTexte
end
return p