Content added Content deleted
(Created page with "local getArgs = require('Module:Arguments').getArgs local QueryBuilder = require('Module:QueryBuilder') local ItemThumbnail = require('Module:Item thumbnail')._main local p = {} function p.main(frame) local args = getArgs(frame) local item = string.lower(args['item'] or '') local count = args['count'] or 1 local quantity = args['quantity'] local cost = args['cost'] local thumbnail = '' local name = '' if item then local qb = QueryBuilde...") |
MathTurtle (talk | contribs) No edit summary |
||
(6 intermediate revisions by one other user not shown) | |||
Line 2: | Line 2: | ||
local QueryBuilder = require('Module:QueryBuilder') |
local QueryBuilder = require('Module:QueryBuilder') |
||
local ItemThumbnail = require('Module:Item thumbnail')._main |
local ItemThumbnail = require('Module:Item thumbnail')._main |
||
local data = mw.loadData('Module:Item thumbnail/data') |
|||
local p = {} |
local p = {} |
||
Line 19: | Line 21: | ||
local qb = QueryBuilder.new() |
local qb = QueryBuilder.new() |
||
qb |
qb |
||
:setTables(' |
:setTables('items') |
||
:setFields([[ |
:setFields([[ |
||
_pageName, |
_pageName, |
||
item_name |
item_name, |
||
image |
image |
||
]]) |
]]) |
||
:addWhere('item_name', '=', item) |
:addWhere('item_name', '=', item) |
||
local results = |
local results = { data[string.lower(item)] } |
||
if #results > 0 then |
if #results > 0 then |
||
Line 34: | Line 36: | ||
local page = results[1]['_pageName'] |
local page = results[1]['_pageName'] |
||
thumbnail = |
thumbnail = ItemThumbnail{ |
||
image = image, |
image = image, |
||
size = '75px', |
|||
link = page, |
link = page, |
||
count = count |
count = count |
||
Line 43: | Line 46: | ||
if tonumber(count) > 1 then |
if tonumber(count) > 1 then |
||
name = name .. ' |
name = name .. ' ×' ..count |
||
end |
end |
||
end |
end |
Latest revision as of 00:54, 1 January 2024
Documentation for this module may be created at Module:Event shop item/doc
local getArgs = require('Module:Arguments').getArgs
local QueryBuilder = require('Module:QueryBuilder')
local ItemThumbnail = require('Module:Item thumbnail')._main
local data = mw.loadData('Module:Item thumbnail/data')
local p = {}
function p.main(frame)
local args = getArgs(frame)
local item = string.lower(args['item'] or '')
local count = args['count'] or 1
local quantity = args['quantity']
local cost = args['cost']
local thumbnail = ''
local name = ''
if item then
local qb = QueryBuilder.new()
qb
:setTables('items')
:setFields([[
_pageName,
item_name,
image
]])
:addWhere('item_name', '=', item)
local results = { data[string.lower(item)] }
if #results > 0 then
local image = results[1]['image']
local itemName = results[1]['item_name']
local page = results[1]['_pageName']
thumbnail = ItemThumbnail{
image = image,
size = '75px',
link = page,
count = count
}
name = string.format('[[%s|%s]]', page, itemName)
if tonumber(count) > 1 then
name = name .. ' ×' ..count
end
end
end
return frame:expandTemplate{
title = 'Event shop line',
args = {
thumbnail = thumbnail,
name = name,
quantity = quantity,
cost = cost
}
}
end
return p