local p = {}
local getArgs = require('Module:Arguments').getArgs
-- 数字到英文单词的映射
local numberMap = {
["1"] = "one",
["2"] = "two",
["3"] = "three",
["4"] = "four",
["5"] = "five",
["6"] = "six",
["7"] = "seven",
["8"] = "eight",
["9"] = "nine",
["10"] = "ten",
["11"] = "eleven",
["12"] = "twelve"
}
-- 主函数
function p.main(frame)
local args = getArgs(frame)
local numberofbuttons = args['numberofbuttons'] or ""
local divs = numberMap[tostring(numberofbuttons)] or ""
-- 如果没有提供有效的按钮数量
if divs == "" then
return "请输入项目数量N个(参数<span style=\"color:red;\">numberofbuttons</span>),N不能大于12。"
end
-- 检查是否需要添加ID
if not args['uniqueID'] then
return frame:expandTemplate{title = 'Template:Tc', args = {'需要添加id的专题导航模板'}}
end
-- 构建HTML内容
local html = '<div class="ztdh" id="' .. (args['uniqueID'] or "") .. '">'
html = html .. '<div class="row">'
html = html .. '<div class="' .. (args['wl'] or "five columns") .. '">' .. (args['LOGO'] or "") .. '<span class="ztdh-title">' .. (args['欢迎标语'] or "") .. '</span></div>'
html = html .. '<div class="' .. (args['hl'] or "seven columns hint") .. '">' .. (args['提示内容'] or "") .. '</div>'
html = html .. '</div>'
html = html .. '<div class="ztdhclear"></div>'
html = html .. '<div class="ztdh-hsctrl">[ 显示全部 ]</div>'
html = html .. '<hr /><div class="row ztdhmenu">'
-- 处理标题和栏目
local titleIndex = 1
while args['标题' .. titleIndex] do
local title = args['标题' .. titleIndex]
local column = args['栏目' .. titleIndex] or ""
html = html .. '<div class="' .. divs .. ' divs menu-item">'
html = html .. '<span class="menu-title">' .. title .. '</span>'
html = html .. '<div class="menu-content">'
html = html .. '<div class="menu-popout">\n' .. column .. '</div>'
html = html .. '</div></div>'
titleIndex = titleIndex + 1
end
html = html .. '</div>'
html = html .. '<div class="ztdhclear"></div>'
html = html .. '</div>'
return html
end
return p