Module:Event shop item: Difference between revisions

From Sekaipedia
Content added Content deleted
m (fix typo)
mNo edit summary
Line 36: Line 36:
thumbnail = ItemThumbnail{
thumbnail = ItemThumbnail{
image = image,
image = image,
size = '75px',
link = page,
link = page,
count = count
count = count

Revision as of 04:08, 12 July 2022

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 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 = qb:query()

		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 .. ' x' ..count
			end
		end
	end

	
	return frame:expandTemplate{
		title = 'Event shop line',
		args = {
			thumbnail = thumbnail,
			name = name,
			quantity = quantity,
			cost = cost
		}
	}
end

return p
Cookies help us deliver our services. By using our services, you agree to our use of cookies.