Jump to content

📢 Please make sure to read our Style Guide before editing. For questions, suggestions, or technical issues, please contact Noah. ✖

Module:ShopListTable: Difference between revisions

From CrabCraft Wiki
Created page with "local p = {} local cargo = mw.ext.cargo function p.Main(frame) local tables = 'base_data' local fields = 'season,basename,owner,basetype,location,dateestablished' local args = { orderBy = 'season ASC, basename ASC', limit = 100 -- Optional; remove or increase if needed } local results = cargo.query(tables, fields, args) local out = {} table.insert(out, '{| class="wikitable sortable plainlinks"') table.insert(out, '! Season !! Base !! Owner !! Type !! Locat..."
 
fixed shop list table
Line 3: Line 3:


function p.Main(frame)
function p.Main(frame)
local tables = 'base_data'
local tables = 'shop_data'
local fields = 'season,basename,owner,basetype,location,dateestablished'
local fields = 'season,shopname,owner,shoptype,location,dateestablished'
local args = {
local args = {
orderBy = 'season ASC, basename ASC',
orderBy = 'season ASC, basename ASC',
Line 14: Line 14:
local out = {}
local out = {}
table.insert(out, '{| class="wikitable sortable plainlinks"')
table.insert(out, '{| class="wikitable sortable plainlinks"')
table.insert(out, '! Season !! Base !! Owner !! Type !! Location !! Established')
table.insert(out, '! Season !! Shop !! Owner !! Type !! Location !! Established')


for _, row in ipairs(results) do
for _, row in ipairs(results) do
Line 22: Line 22:
end
end
if row.basename ~= '$1' and row.basename ~= 'Creeper Cove' then
if row.basename ~= '$1' and row.basename ~= 'Diamond Emporium' then
table.insert(out, '|-')
table.insert(out, '|-')
table.insert(out, string.format('| %s || [[%s]] || %s || %s || %s || %s',
table.insert(out, string.format('| %s || [[%s]] || %s || %s || %s || %s',
season or '',
season or '',
row.basename or '',
row.shopname or '',
row.owner or '',
row.owner or '',
row.basetype or '',
row.basetype or '',

Revision as of 14:48, 24 June 2025

Documentation for this module may be created at Module:ShopListTable/doc

local p = {}
local cargo = mw.ext.cargo

function p.Main(frame)
	local tables = 'shop_data'
	local fields = 'season,shopname,owner,shoptype,location,dateestablished'
	local args = {
		orderBy = 'season ASC, basename ASC',
		limit = 100 -- Optional; remove or increase if needed
	}

	local results = cargo.query(tables, fields, args)

	local out = {}
	table.insert(out, '{| class="wikitable sortable plainlinks"')
	table.insert(out, '! Season !! Shop !! Owner !! Type !! Location !! Established')

	for _, row in ipairs(results) do
		local season = ''
		if row.season then 
			season = row.season:sub(3, -3)
		end	
		
		if row.basename ~= '$1' and row.basename ~= 'Diamond Emporium' then
		table.insert(out, '|-')
		table.insert(out, string.format('| %s || [[%s]] || %s || %s || %s || %s',
			season or '',
			row.shopname or '',
			row.owner or '',
			row.basetype or '',
			row.location or '',
			row.dateestablished or ''
		))
		end
	end

	table.insert(out, '|}')
	return table.concat(out, '\n')
end

return p