Module:Event shop item: Difference between revisions

From Sekaipedia
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...")
 
m (fix query)
Line 22: Line 22:
:setFields([[
:setFields([[
_pageName,
_pageName,
item_name
item_name,
image
image
]])
]])

Revision as of 02:52, 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 = ItemThumnail{
				image = image,
				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.