Module:Event shop card

From Sekaipedia
Revision as of 03:11, 12 July 2022 by ChaoticShadow (talk | contribs) (Created page with "local getArgs = require('Module:Arguments').getArgs local QueryBuilder = require('Module:QueryBuilder') local p = {} function p.main(frame) local args = getArgs(frame) local cardId = args['card id'] local count = args['count'] or 1 local quantity = args['quantity'] local cost = args['cost'] local thumbnail = '' local name = '' if cardId and tonumber(cardId) > 0 then local qb = QueryBuilder.new() qb :setTables('Cards') :setFields([...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

To generate {{Event shop card}}, invoke the main function.


local getArgs       = require('Module:Arguments').getArgs
local QueryBuilder  = require('Module:QueryBuilder')

local p = {}

function p.main(frame)
	local args = getArgs(frame)

	local cardId   = args['card id']
	local count    = args['count'] or 1
	local quantity = args['quantity']
	local cost     = args['cost']
	
	local thumbnail = ''
	local name = ''
	
	if cardId and tonumber(cardId) > 0 then
		local qb = QueryBuilder.new()
		qb
			:setTables('Cards')
			:setFields([[
				_pageName,
				card_name,
				thumbnail
			]])
			:addWhere('card_id', '=', cardId)
	
    	local results = qb:query()

		if #results > 0 then
			local image = results[1]['image']
			local cardName = results[1]['card_name']
			local page = results[1]['_pageName']
			
			thumbnail = string.format(
				'[[File:%s|80px|link=%s]]',
				image,
				page
			)
			
			name = string.format('[[%s|%s]]', page, cardName)
		end
	end

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

end

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