« Module:ItemInfoCard » : différence entre les versions
De Eco - Wiki Français
| [version vérifiée] | [version vérifiée] |
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| (6 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 4 : | Ligne 4 : | ||
local RecipeUtils = require('Module:RecipeUtils') | local RecipeUtils = require('Module:RecipeUtils') | ||
local IconUtils = require('Module:IconUtils') | local IconUtils = require('Module:IconUtils') | ||
local InfoCardUtils = require('Module:InfoCardUtils') | |||
local Lang = Utils.getLanguageName() | local Lang = Utils.getLanguageName() | ||
| Ligne 9 : | Ligne 10 : | ||
function p.main(frame) | function p.main(frame) | ||
local PageName = frame.args[1] | local PageName = frame.args[1] | ||
if (Lang == 'English') then ItemName = PageName else ItemName = Utils.ItemSearch(PageName) end | |||
-- Décoder les entités HTML (comme ' en ') | |||
PageName = mw.text.decode(PageName) | |||
-- Normaliser les apostrophes typographiques | |||
PageName = Utils.NormalizeApostrophes(PageName) | |||
local ItemName | |||
if (Lang == 'English') then | |||
ItemName = PageName | |||
else | |||
ItemName = Utils.ItemSearch(PageName) | |||
end | |||
-- Vérifier si ItemName existe | |||
if not ItemName or ItemName == "" or ItemName == "None" then | |||
return '<div class="alert alert-danger">Erreur : Impossible de trouver l\'objet "' .. PageName .. '"</div>' | |||
end | |||
local ItemData = require("Module:ItemData") | local ItemData = require("Module:ItemData") | ||
local Item = ItemData.items[ItemName] | |||
-- Vérifier si Item existe | |||
if not Item then | |||
return '<div class="alert alert-danger">Erreur : L\'objet "' .. ItemName .. '" n\'existe pas dans ItemData</div>' | |||
end | |||
local WikiText = '' | local WikiText = '' | ||
WikiText = WikiText .. '__NOTOC__' | WikiText = WikiText .. '__NOTOC__' | ||
WikiText = WikiText .. '<div class="row gy-4 gx-5"><div class="col-md-6">' | WikiText = WikiText .. '<div class="row gy-4 gx-5"><div class="col-md-6">' | ||
| Ligne 26 : | Ligne 50 : | ||
WikiText = WikiText .. '</div></div></div></div>' | WikiText = WikiText .. '</div></div></div></div>' | ||
if (Item.FoodItem == "True") then WikiText = WikiText .. InfoCardUtils.FoodDetailsModule(ItemName) end | |||
local RecipeItemCraft = RecipeUtils.ItemCraft(ItemName) | local RecipeItemCraft = RecipeUtils.ItemCraft(ItemName) | ||
if (RecipeItemCraft ~= "") then | if (RecipeItemCraft ~= "") then | ||
WikiText = WikiText .. '<h3>' .. Utils.Translate("Crafted At | WikiText = WikiText .. '<h3>' .. Utils.Translate("Crafted At") .. ' :</h3>' | ||
WikiText = WikiText .. RecipeUtils.CraftTable(RecipeItemCraft) | WikiText = WikiText .. RecipeUtils.CraftTable(RecipeItemCraft) | ||
end | end | ||
| Ligne 35 : | Ligne 61 : | ||
local RecipeItemIngredient = RecipeUtils.ItemIngredient(ItemName) | local RecipeItemIngredient = RecipeUtils.ItemIngredient(ItemName) | ||
if (RecipeItemIngredient ~= "") then | if (RecipeItemIngredient ~= "") then | ||
WikiText = WikiText .. '<h3>' .. Utils.Translate("Used in | WikiText = WikiText .. '<h3>' .. Utils.Translate("Used in") .. ' :</h3>' | ||
WikiText = WikiText .. RecipeUtils.CraftTable(RecipeItemIngredient) | WikiText = WikiText .. RecipeUtils.CraftTable(RecipeItemIngredient) | ||
end | end | ||
| Ligne 41 : | Ligne 67 : | ||
local ItemTagList = Utils.ItemTags(Item.Tags) | local ItemTagList = Utils.ItemTags(Item.Tags) | ||
if (ItemTagList ~= "") then | if (ItemTagList ~= "") then | ||
WikiText = WikiText .. '<h3>' .. Utils.Translate("Tags Applying to | WikiText = WikiText .. '<h3>' .. Utils.Translate("Tags Applying to") .. ' :</h3>' | ||
WikiText = WikiText .. ItemTagList | WikiText = WikiText .. ItemTagList | ||
end | end | ||
| Ligne 51 : | Ligne 77 : | ||
end | end | ||
WikiText = WikiText .. '<h3>Utilisation de | WikiText = WikiText .. '<h3>Utilisation de l\'icône :</h3>' | ||
WikiText = WikiText .. '<p> | WikiText = WikiText .. '<p>L\'icône de ' .. Item.Name[Lang] .. ' peut être utilisée sur n\'importe quel panneau supportant du texte, y compris sur les [[Vehicules|Véhicules]] :</br>' | ||
WikiText = WikiText .. 'Icône avec fond : <icon name="' .. Item.ID .. '"></br>' | WikiText = WikiText .. 'Icône avec fond : <icon name="' .. Item.ID .. '"></br>' | ||
WikiText = WikiText .. 'Icône sans fond : <icon name="' .. Item.ID .. '" type="nobg"></p>' | WikiText = WikiText .. 'Icône sans fond : <icon name="' .. Item.ID .. '" type="nobg"></p>' | ||
if (Lang ~= 'English') then WikiText = WikiText .. '[[en:' .. Item.Name.English .. ']]' end | if (Lang ~= 'English') then WikiText = WikiText .. '[[en:' .. Item.Name.English .. ']]' end | ||
if (Lang ~= 'Russian') then WikiText = WikiText .. '[[ru:' .. Item.Name.Russian .. ']]' end | if (Lang ~= 'Russian') then WikiText = WikiText .. '[[ru:' .. Item.Name.Russian .. ']]' end | ||
Dernière version du 8 mars 2026 à 13:45
La documentation pour ce module peut être créée à Module:ItemInfoCard/doc
local p = {}
local Utils = require('Module:Utils')
local RecipeUtils = require('Module:RecipeUtils')
local IconUtils = require('Module:IconUtils')
local InfoCardUtils = require('Module:InfoCardUtils')
local Lang = Utils.getLanguageName()
function p.main(frame)
local PageName = frame.args[1]
-- Décoder les entités HTML (comme ' en ')
PageName = mw.text.decode(PageName)
-- Normaliser les apostrophes typographiques
PageName = Utils.NormalizeApostrophes(PageName)
local ItemName
if (Lang == 'English') then
ItemName = PageName
else
ItemName = Utils.ItemSearch(PageName)
end
-- Vérifier si ItemName existe
if not ItemName or ItemName == "" or ItemName == "None" then
return '<div class="alert alert-danger">Erreur : Impossible de trouver l\'objet "' .. PageName .. '"</div>'
end
local ItemData = require("Module:ItemData")
local Item = ItemData.items[ItemName]
-- Vérifier si Item existe
if not Item then
return '<div class="alert alert-danger">Erreur : L\'objet "' .. ItemName .. '" n\'existe pas dans ItemData</div>'
end
local WikiText = ''
WikiText = WikiText .. '__NOTOC__'
WikiText = WikiText .. '<div class="row gy-4 gx-5"><div class="col-md-6">'
WikiText = WikiText .. '</div>'
WikiText = WikiText .. '<div class="col-md-6"><div class="card border-primary"><div class="card-body">'
WikiText = WikiText .. '<h2 class="card-title fs-40">' .. IconUtils.main{name = Item.Name[Lang], id = Item.ID , size = 48, style = 1} .. ' ' .. Item.Name[Lang] .. '</h2>'
WikiText = WikiText .. '<p class="col-lg-10 card-text">' .. Item.Description[Lang] .. '</p>'
WikiText = WikiText .. '</div></div></div></div>'
if (Item.FoodItem == "True") then WikiText = WikiText .. InfoCardUtils.FoodDetailsModule(ItemName) end
local RecipeItemCraft = RecipeUtils.ItemCraft(ItemName)
if (RecipeItemCraft ~= "") then
WikiText = WikiText .. '<h3>' .. Utils.Translate("Crafted At") .. ' :</h3>'
WikiText = WikiText .. RecipeUtils.CraftTable(RecipeItemCraft)
end
local RecipeItemIngredient = RecipeUtils.ItemIngredient(ItemName)
if (RecipeItemIngredient ~= "") then
WikiText = WikiText .. '<h3>' .. Utils.Translate("Used in") .. ' :</h3>'
WikiText = WikiText .. RecipeUtils.CraftTable(RecipeItemIngredient)
end
local ItemTagList = Utils.ItemTags(Item.Tags)
if (ItemTagList ~= "") then
WikiText = WikiText .. '<h3>' .. Utils.Translate("Tags Applying to") .. ' :</h3>'
WikiText = WikiText .. ItemTagList
end
local RecipeTagsIngredient = RecipeUtils.TagsIngredient(Item.Tags)
if (RecipeTagsIngredient ~= "") then
WikiText = WikiText .. '<h3>Utilisé comme objet étiquette dans :</h3>'
WikiText = WikiText .. RecipeUtils.CraftTable(RecipeTagsIngredient)
end
WikiText = WikiText .. '<h3>Utilisation de l\'icône :</h3>'
WikiText = WikiText .. '<p>L\'icône de ' .. Item.Name[Lang] .. ' peut être utilisée sur n\'importe quel panneau supportant du texte, y compris sur les [[Vehicules|Véhicules]] :</br>'
WikiText = WikiText .. 'Icône avec fond : <icon name="' .. Item.ID .. '"></br>'
WikiText = WikiText .. 'Icône sans fond : <icon name="' .. Item.ID .. '" type="nobg"></p>'
if (Lang ~= 'English') then WikiText = WikiText .. '[[en:' .. Item.Name.English .. ']]' end
if (Lang ~= 'Russian') then WikiText = WikiText .. '[[ru:' .. Item.Name.Russian .. ']]' end
if (Lang ~= 'German') then WikiText = WikiText .. '[[de:' .. Item.Name.German .. ']]' end
if (Lang ~= 'French') then WikiText = WikiText .. '[[fr:' .. Item.Name.French .. ']]' end
return WikiText
end
return p