Module:Infobox song: Difference between revisions

From SPCodex, The Smashing Pumpkins wiki
(Created page with "local p = {} function p._track_listing(song, album) local cargo = mw.ext.cargo local results = cargo.query( 'track_listings', 'track, song, song_page_title', { whe...")
 
No edit summary
Line 18: Line 18:
local row = tableRoot:tag('tr')
local row = tableRoot:tag('tr')
local result = results[r]
local result = results[r]
row:tag('td'):wikitext(result['track'])
row:tag('td')
:css('padding-right', '5px')
:wikitext(result['track'])
row:tag('td'):wikitext('[[' .. result['song_page_title'] .. '|' .. result['song'] .. ']]')
row:tag('td'):wikitext('[[' .. result['song_page_title'] .. '|' .. result['song'] .. ']]')
end
end

Revision as of 04:26, 11 June 2020

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

local p = {}

function p._track_listing(song, album)
	local cargo = mw.ext.cargo
	local results = cargo.query(
		'track_listings',
		'track, song, song_page_title',
		{
			where = 'work = "' .. album .. '" AND main_listing = 1',
			orderBy = 'track_listings._ID ASC'
		}
	)

	local root = mw.html.create()
	local tableRoot = root:tag('table')

	for r = 1, #results do
		local row = tableRoot:tag('tr')
		local result = results[r]
		row:tag('td')
			:css('padding-right', '5px')
			:wikitext(result['track'])
		row:tag('td'):wikitext('[[' .. result['song_page_title'] .. '|' .. result['song'] .. ']]')
	end

	return tostring(root)
end

function p.track_listing(frame)
	local song = frame.args[1]
	local album = frame.args[2]
	return p._track_listing(song, album)
end

return p