模块:Test:修订间差异
跳到导航
跳到搜索
小 (清空测试用Test模块) 标签:清空 |
无编辑摘要 |
||
第1行: | 第1行: | ||
-- | |||
--修改自模块navbox 扩充历史活动 | |||
-- | |||
local p = {} | |||
local args--存参数 | |||
local frame | |||
local anums = {}--存行数 | |||
--添加行 | |||
function addTableRow(tbl) | |||
return tbl:tag('tr') | |||
end | |||
--处理表头 | |||
function renderHeaderRow(tbl) | |||
local headerRow = addTableRow(tbl) | |||
headerRow | |||
:tag('th') | |||
:wikitext('主题列表') | |||
:css('#FFF0F5', '100%') | |||
:attr('scope', 'column') | |||
:done() | |||
end | |||
--处理某一行数据 | |||
function renderListRow(tb1, anum) | |||
local row = addTableRow(tb1)--添加行,并将当前行传给row | |||
if args['a' .. anum] then | |||
local activity = row:tag('td')--添加单元格,并将该单元格传给activity | |||
activity | |||
:css('DarkOrange', '30%') | |||
:attr('align', 'center')--单元格样式 | |||
:wikitext(args['a' .. anum]) | |||
end | |||
local info = row:tag('td')--再添加单元格,并将该单元格传给info | |||
info | |||
:css('OldLace', '80%') | |||
:wikitext(args['i' .. anum])--单元格样式 | |||
end | |||
--处理表格 | |||
function renderMainTable() | |||
local tb1 = mw.html.create('table')--创建table | |||
--.attr('cellspacing', 0)--在这里table添加样式 | |||
:addClass('wikitable') | |||
:addClass('mw-collapsible') | |||
:addClass('mw-collapsed') | |||
:css('width', '60%') | |||
renderHeaderRow(tb1) | |||
for i, anum in ipairs(anums) do--循环处理每一行数据 | |||
renderListRow(tb1, anum) | |||
end | |||
return tb1 | |||
end | |||
function p._historicalActivity(Args) | |||
args = Args | |||
for k, v in pairs(args) do--计算行数 | |||
local anum = ('' .. k):match('^a(%d+)$') | |||
if anum then table.insert(anums, tonumber(anum)) end | |||
end | |||
table.sort(anums) | |||
--处理表格 | |||
local tb1 = renderMainTable() | |||
local res = mw.html.create() | |||
res:node(tb1) | |||
return tostring(res) | |||
end | |||
function p.historicalActivity(frame) | |||
local args = {} | |||
local parent_args = frame:getParent().args;--获取页面传来得参数,而不是模板的参数 | |||
-- Out of order parsing bug. | |||
-- 不懂 | |||
local temp; | |||
for i = 1, 50 do | |||
temp = parent_args["a" .. tostring(i)]; | |||
temp = parent_args["i" .. tostring(i)]; | |||
end | |||
--将获取的参数传给args | |||
for k, v in pairs(parent_args) do | |||
if v ~= '' then | |||
args[k] = v | |||
end | |||
end | |||
return p._historicalActivity(args) | |||
end | |||
return p |
2022年1月24日 (一) 01:06的版本
这个模块是干什么用的?
该模块用于测试,测试完请清空模块内的内容
基本用法
local p = {} function p.函数名() return '返回内容' end function p.函数名2() return '返回内容2' end return
以上为最基本的用法,其他请自行学习Lua语言
其他
同样也有一个用于测试模板的模板,点这里进入
-- --修改自模块navbox 扩充历史活动 -- local p = {} local args--存参数 local frame local anums = {}--存行数 --添加行 function addTableRow(tbl) return tbl:tag('tr') end --处理表头 function renderHeaderRow(tbl) local headerRow = addTableRow(tbl) headerRow :tag('th') :wikitext('主题列表') :css('#FFF0F5', '100%') :attr('scope', 'column') :done() end --处理某一行数据 function renderListRow(tb1, anum) local row = addTableRow(tb1)--添加行,并将当前行传给row if args['a' .. anum] then local activity = row:tag('td')--添加单元格,并将该单元格传给activity activity :css('DarkOrange', '30%') :attr('align', 'center')--单元格样式 :wikitext(args['a' .. anum]) end local info = row:tag('td')--再添加单元格,并将该单元格传给info info :css('OldLace', '80%') :wikitext(args['i' .. anum])--单元格样式 end --处理表格 function renderMainTable() local tb1 = mw.html.create('table')--创建table --.attr('cellspacing', 0)--在这里table添加样式 :addClass('wikitable') :addClass('mw-collapsible') :addClass('mw-collapsed') :css('width', '60%') renderHeaderRow(tb1) for i, anum in ipairs(anums) do--循环处理每一行数据 renderListRow(tb1, anum) end return tb1 end function p._historicalActivity(Args) args = Args for k, v in pairs(args) do--计算行数 local anum = ('' .. k):match('^a(%d+)$') if anum then table.insert(anums, tonumber(anum)) end end table.sort(anums) --处理表格 local tb1 = renderMainTable() local res = mw.html.create() res:node(tb1) return tostring(res) end function p.historicalActivity(frame) local args = {} local parent_args = frame:getParent().args;--获取页面传来得参数,而不是模板的参数 -- Out of order parsing bug. -- 不懂 local temp; for i = 1, 50 do temp = parent_args["a" .. tostring(i)]; temp = parent_args["i" .. tostring(i)]; end --将获取的参数传给args for k, v in pairs(parent_args) do if v ~= '' then args[k] = v end end return p._historicalActivity(args) end return p