| 第56行: |
第56行: |
| | function renderStage(frame, stage) | | function renderStage(frame, stage) |
| | return frame:expandTemplate{title = "创作阶段", args = {["创作阶段"]=stage}} | | return frame:expandTemplate{title = "创作阶段", args = {["创作阶段"]=stage}} |
| | + | end |
| | + | |
| | + | function getParentProps(base, props) |
| | + | return SMWUtils.query_page_properties("[["..base.."]]", props)[1]["properties"] |
| | end | | end |
| | | | |
| 第64行: |
第68行: |
| | local out = "" | | local out = "" |
| | if isIndexPage or not base then | | if isIndexPage or not base then |
| | + | mw.smw.set({['设定集'] = pagename}) |
| | if type == "世界观设定" then | | if type == "世界观设定" then |
| | out = out .. (renderLiteInfoBox(frame, "WorldItem.svg", "世界观介绍页")) | | out = out .. (renderLiteInfoBox(frame, "WorldItem.svg", "世界观介绍页")) |
| 第72行: |
第77行: |
| | out = out .. (renderLiteInfoBox(frame, "SharedItem.svg", "公共设定页")) | | out = out .. (renderLiteInfoBox(frame, "SharedItem.svg", "公共设定页")) |
| | end | | end |
| − | else | + | else -- base must exist |
| − | if type == "世界观设定" then | + | local parent = getParentProps(base, {"设定集", "设定类型"}) |
| | + | if parent["设定集"] then |
| | + | mw.smw.set({['设定集'] = parent["设定集"]}) |
| | + | end |
| | + | local parentType = parent["设定类型"] or "公共设定" |
| | + | mw.smw.set({['设定类型'] = parentType}) |
| | + | if parentType == "世界观设定" then |
| | out = out .. (renderLiteInfoBox(frame, "WorldItem.svg", "本页面属于世界观: [[" .. base .. "]]")) | | out = out .. (renderLiteInfoBox(frame, "WorldItem.svg", "本页面属于世界观: [[" .. base .. "]]")) |
| − | elseif type == "联动设定" then | + | elseif parentType == "联动设定" then |
| | local text = "" | | local text = "" |
| | out = out .. (renderLiteInfoBox(frame, "联动.svg", "本页面属于联动: [["..base.."]")) | | out = out .. (renderLiteInfoBox(frame, "联动.svg", "本页面属于联动: [["..base.."]")) |