打开/关闭菜单
32
245
25
891
植物大战僵尸杂交版Wiki
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
本Wiki为杂交版民间Wiki,不对杂交版官方产生影响

模块:Infocard:修订间差异

来自植物大战僵尸杂交版Wiki
Operator留言 | 贡献
创建页面,内容为“local p = {} function p.main(frame) local args = frame:getParent().args local name = args["名称"] or frame:preprocess("{{PAGENAME}}") local attrStr = args["属性"] or "" local floatClass = (args[1] == "right") and "pvzhe-info-card-float-right" or "" local attrTable = {} if attrStr ~= "" then for attrItem in string.gmatch(attrStr, "[^,]+") do local attrName, attrValue = string.match(attrItem, "^([^:]…”
 
Operator留言 | 贡献
已保护“模块:Infocard”​([编辑=仅允许管理员](无限期)​[移动=仅允许管理员](无限期))
(没有差异)

2026年3月13日 (五) 00:56的版本

此模块的文档可以在模块:Infocard/doc创建

local p = {}

function p.main(frame)
    local args = frame:getParent().args
    
    local name = args["名称"] or frame:preprocess("{{PAGENAME}}")
    local attrStr = args["属性"] or ""
    
    local floatClass = (args[1] == "right") and "pvzhe-info-card-float-right" or ""
    
    local attrTable = {}
    if attrStr ~= "" then
        for attrItem in string.gmatch(attrStr, "[^,]+") do
            local attrName, attrValue = string.match(attrItem, "^([^:]+):(.+)$")
            if attrName and attrValue then
                table.insert(attrTable, {
                    name = string.gsub(attrName, "^%s*(.-)%s*$", "%1"),
                    value = string.gsub(attrValue, "^%s*(.-)%s*$", "%1")
                })
            end
        end
    end
    
    local html = {}
    table.insert(html, '<div class="' .. floatClass .. '">')
    table.insert(html, '<table class="pvzhe-info-card">')
    table.insert(html, '  <tr class="pvzhe-info-card-row pvzhe-info-card-title">')
    table.insert(html, '    <th colspan="2">' .. name .. '</th>')
    table.insert(html, '  </tr>')
    table.insert(html, '  <tr class="pvzhe-info-card-row pvzhe-info-card-image">')
    table.insert(html, '    <td colspan="2">[[图片:' .. name .. '.webp|150px|' .. name .. ']]</td>')
    table.insert(html, '  </tr>')
    
    for _, attr in ipairs(attrTable) do
        table.insert(html, '  <tr class="pvzhe-info-card-row pvzhe-info-card-attr">')
        table.insert(html, '    <th>' .. attr.name .. '</th>')
        table.insert(html, '    <td>' .. attr.value .. '</td>')
        table.insert(html, '  </tr>')
    end
    
    table.insert(html, '</table>')
    table.insert(html, '</div>')
    return table.concat(html, "\n")
end

return p