Module:BrandSeries: Difference between revisions

Remove debug output, filter out invalid "+" series entries (via update-page on MediaWiki MCP Server)
Fix link rendering - use wikitext table format instead of mw.html (via update-page on MediaWiki MCP Server)
Line 75: Line 75:
end
end
-- Build the table as HTML
-- Build the table as wikitext (so links render properly)
local tbl = mw.html.create('table')
local lines = {}
tbl:addClass('wikitable')
table.insert(lines, '{| class="wikitable"')
table.insert(lines, '! Series !! Count !! Browse')
-- Header row
local headerRow = tbl:tag('tr')
headerRow:tag('th'):wikitext('Series')
headerRow:tag('th'):wikitext('Count')
headerRow:tag('th'):wikitext('Browse')
-- Data rows
for _, row in ipairs(rows) do
for _, row in ipairs(rows) do
local tr = tbl:tag('tr')
-- Series link as wikitext
local seriesLink = '[[' .. row.series .. ']]'
-- Series link - build as HTML anchor
-- Browse link via queryformlink
local seriesLink = mw.html.create('a')
seriesLink:attr('href', '/wiki/' .. mw.uri.encode(row.series, 'WIKI'))
seriesLink:attr('title', row.series)
seriesLink:wikitext(row.series)
tr:tag('td'):node(seriesLink)
-- Count
tr:tag('td'):wikitext(tostring(row.count))
-- Browse link
local browseQuery = string.format(
local browseQuery = string.format(
'{{#queryformlink:form=CRT query|query string=CRT query[brand]=%s&CRT query[series]=%s&_run|link text=Browse}}',
'{{#queryformlink:form=CRT query|query string=CRT query[brand]=%s&CRT query[series]=%s&_run|link text=Browse}}',
brand, row.series
brand, row.series
)
)
local browseHtml = frame:preprocess(browseQuery)
local browseLink = frame:preprocess(browseQuery)
tr:tag('td'):wikitext(browseHtml)
table.insert(lines, '|-')
table.insert(lines, '| ' .. seriesLink .. ' || ' .. tostring(row.count) .. ' || ' .. browseLink)
end
end
return tostring(tbl)
table.insert(lines, '|}')
return table.concat(lines, '\n')
end
end


return p
return p
MediaWiki Appliance - Powered by TurnKey Linux