Module:ButtonBox: Difference between revisions
Appearance
testing cargo functionality |
setup button box for variable players |
||
| Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
local cargo = mw.ext.cargo | |||
function p.buttonbox() | function p.buttonbox() | ||
local | local tables = 'player_data' | ||
local fields = 'username' | |||
local args = { | |||
orderBy = 'username ASC', | |||
limit = 100 -- Optional; remove or increase if needed | |||
} | |||
local | local results = cargo.query(tables, fields, args) | ||
local out = {} | local out = {} | ||
table.insert(out, '{| class="buttonbox"') | table.insert(out, '{| class="buttonbox"') | ||
for i, row in ipairs( | for i, row in ipairs(results) do | ||
if (i - 1) % 4 == 0 then | if (i - 1) % 4 == 0 then | ||
table.insert(out, '|-') | table.insert(out, '|-') | ||
end | end | ||
local image = row. | local image = 'https://mc-heads.net/avatar/'..row.username..'/150.png' | ||
local label = row. | local label = row.username | ||
local link = | local link = "[[" .. row.username .. "]]" | ||
local cell = '| <div class="buttonbox-entry">'..image..'<div class="buttonbox-label">'..label..'</div> </div>' | local cell = '| <div class="buttonbox-entry">'..image..'<div class="buttonbox-label">'..label..'</div> </div>' | ||
Revision as of 15:03, 24 June 2025
Documentation for this module may be created at Module:ButtonBox/doc
local p = {}
local cargo = mw.ext.cargo
function p.buttonbox()
local tables = 'player_data'
local fields = 'username'
local args = {
orderBy = 'username ASC',
limit = 100 -- Optional; remove or increase if needed
}
local results = cargo.query(tables, fields, args)
local out = {}
table.insert(out, '{| class="buttonbox"')
for i, row in ipairs(results) do
if (i - 1) % 4 == 0 then
table.insert(out, '|-')
end
local image = 'https://mc-heads.net/avatar/'..row.username..'/150.png'
local label = row.username
local link = "[[" .. row.username .. "]]"
local cell = '| <div class="buttonbox-entry">'..image..'<div class="buttonbox-label">'..label..'</div> </div>'
table.insert(out, cell)
end
table.insert(out, '|}')
return table.concat(out, '\n')
end
return p