切换搜索
搜索
切换菜单
notifications
切换个人菜单
查看“模块:Navplate SMW row”的源代码
来自决策链云智库
更多操作
←
模块:Navplate SMW row
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
-- Module:NavplateSMWRow local p = {} local mw = require('mw') function p.navplateSmwRow(frame) local args = frame:getParent().args local category = args[1] local SMWproperty = args['SMWproperty'] -- 已修改为与模板参数一致 local text = args['text'] or args[3] local icon = args['icon'] -- 使用缓存结果,减少查询 local cacheKey = category .. (SMWproperty or '') .. (text or '') if p.cache[cacheKey] then return p.cache[cacheKey] end -- 构建查询 local query = '[[Category:' .. category .. ']]' if SMWproperty and SMWproperty:find("::") then local propertyParts = mw.text.split(SMWproperty, "::") query = query .. '[[Category:' .. propertyParts[1] .. ']]' query = query .. '[[' .. propertyParts[2] .. '::SubCategory]]' end -- 执行查询,添加了输出格式和分隔符 local results = frame:extensionTag('ask', query .. '|format=list|sep=, ') -- 缓存查询结果 p.cache[cacheKey] = results -- 格式化输出 local div = mw.html.create('div') :addClass('template-navplate-item') local labelDiv = mw.html.create('div') :addClass('template-navplate-item__label') if icon then labelDiv:wikitext('[[File:' .. icon .. '|20px|link=]]') end labelDiv:wikitext(text) div:node(labelDiv) div:node(mw.html.create('div') :addClass('template-navplate-item__list') :wikitext(results) ) return div:allDone() end p.cache = {} return p
本页使用的模板:
模块:Navplate SMW row/doc
(
查看源代码
)
返回
模块:Navplate SMW row
。