模块:NavplateList

来自决策链云智库

可在模块:NavplateList/doc创建此模块的帮助文档

local p = {}
local dpl = require('Module:DPLlua').ask  -- 假设Module:DPLlua是您提供的Lua脚本

function p.navplate(frame)
    local category = frame.args.category or ''
    local extraParam1 = frame.args.extraParam1 or ''
    local extraParam2 = frame.args.extraParam2 or ''
    local namespace = frame.args.namespace or ''

    -- 构建DPL查询
    local query = {
        titlematch = category,
        -- 添加其它查询参数
        -- ...
        format = 'json',  -- 返回JSON格式以便处理
        allowcachedresults = true  -- 允许缓存结果
    }

    if extraParam1 ~= '' then
        query.titlematch = extraParam1
    end

    if extraParam2 ~= '' then
        query.titlematch = extraParam2
    end

    if namespace ~= '' then
        query.namespace = namespace
    end

    -- 执行DPL查询
    local result = dpl.ask(query)

    -- 格式化输出
    local output = ''
    for _, page in ipairs(result) do
        output = output .. '* [[' .. page.title .. ']]\n'
    end

    return output
end

return p