Модуль:TagDetails: различия между версиями
Материал из Eco - Русская Wiki
[досмотренная версия] | [досмотренная версия] |
StalEF (обсуждение | вклад) м Защитил страницу Модуль:TagDetails ([Редактирование=Разрешено только администраторам] (бессрочно) [Переименование=Разрешено только администраторам] (бессрочно)) |
Avaren (обсуждение | вклад) Нет описания правки |
||
Строка 2: | Строка 2: | ||
local Utils = require('Module:Utils') | local Utils = require('Module:Utils') | ||
local L = require('Module:Localization') | |||
local p = {} | local p = {} | ||
Строка 16: | Строка 17: | ||
local tagName = args.name | local tagName = args.name | ||
local itemData = | local itemData = mw.loadData("Module:ItemData") | ||
local tagList = itemData.tags | local tagList = itemData.tags | ||
Строка 31: | Строка 32: | ||
title = 'IconFrame', | title = 'IconFrame', | ||
args = { | args = { | ||
file = | file = Utils.checkImage(L.tag(tagName) .. 'Tag', False), link = tagName .. L.t('Tag'), | ||
text = '<h3>[[' .. tagName .. ' | text = '<h3>[[' .. tagName .. L.t('Tag') .. ']]</h3>', style = 'iconWhite' | ||
} | } | ||
} | } | ||
local tagCount = Utils.tableLen(itemList) | |||
if tagCount > 98 then | |||
expensive = true | |||
else | |||
expensive = false | |||
end | |||
text = text .. '\n\n\ | text = text .. '\n\n\n' .. string.format(L.t('Item with the %s Tag:', tagCount), tagName) .. '\n' | ||
for k, item in pairs(itemList) do | for k, item in pairs(itemList) do | ||
untranslated_name = itemData.items[item].untranslated | local untranslated_name = itemData.items[item].untranslated | ||
text = text .. frame:expandTemplate{ | text = text .. frame:expandTemplate{ | ||
title = 'IconFrame', | title = 'IconFrame', | ||
args = { | args = { | ||
file = | file = Utils.checkImage(untranslated_name, expensive), link = item, | ||
text = '<h3>[[' .. item .. ']]</h3>', style = 'iconBlue' | text = '<h3>[[' .. item .. ']]</h3>', style = 'iconBlue' | ||
}} | }} | ||
Строка 52: | Строка 60: | ||
end | end | ||
return p |
Версия от 11:37, 8 марта 2021
Для документации этого модуля может быть создана страница Модуль:TagDetails/doc
-- Credit: User:Avaren
local Utils = require('Module:Utils')
local L = require('Module:Localization')
local p = {}
-- build tag list
function p.tagList(frame)
local args = Utils.normaliseArgs(frame)
-- check that all necessary arguments are passed correctly
if args.name == nil or args.name == '' then
return '\'name\' must be specified.'
end
local tagName = args.name
local itemData = mw.loadData("Module:ItemData")
local tagList = itemData.tags
local itemList = tagList[tagName]
if (itemList == nil) then
return tagName .. " could not be found in Module:ItemData"
end
local text = ""
text = text .. frame:expandTemplate{
title = 'IconFrame',
args = {
file = Utils.checkImage(L.tag(tagName) .. 'Tag', False), link = tagName .. L.t('Tag'),
text = '<h3>[[' .. tagName .. L.t('Tag') .. ']]</h3>', style = 'iconWhite'
}
}
local tagCount = Utils.tableLen(itemList)
if tagCount > 98 then
expensive = true
else
expensive = false
end
text = text .. '\n\n\n' .. string.format(L.t('Item with the %s Tag:', tagCount), tagName) .. '\n'
for k, item in pairs(itemList) do
local untranslated_name = itemData.items[item].untranslated
text = text .. frame:expandTemplate{
title = 'IconFrame',
args = {
file = Utils.checkImage(untranslated_name, expensive), link = item,
text = '<h3>[[' .. item .. ']]</h3>', style = 'iconBlue'
}}
end
return text
end
return p