Jump to content

Module:TestModule: Difference between revisions

From NewsWikiTestbed
AdamZachar (talk | contribs)
No edit summary
AdamZachar (talk | contribs)
No edit summary
Line 13: Line 13:
   }
   }


  if topics == nil then return output end
  if topics ~= nil then


output = output .. "<ul>"
  output = output .. "<ul>"


for i, topic in ipairs(topics) do
  for i, topic in ipairs(topics) do


  output = output .. " <li>" .. "[[" .. topic.topicName .. "]]"
  output = output .. " <li>" .. "[[" .. topic.topicName .. "]]"


  local childTopics, errors3 = mw.ext.externaldata.getExternalData {
  local childTopics, errors3 = mw.ext.externaldata.getExternalData {
  source = "CaseData"
    source = "CaseData"
  , query = "childrenTopics"
    , query = "childrenTopics"
  , data = "topicName=topic_name"
    , data = "topicName=topic_name"
  , parameters = topic.topicName
    , parameters = topic.topicName
  }
  }


  if childTopics == nil then break end
  if childTopics ~= nil then
    output = output .. "<ul>"
    for i, childTopic in ipairs(childTopics) do
    output = output .. " <li>" .. "[[" .. childTopic.topicName .. "]]"
    end
    output = output .. "</ul>"
  end


  output = output .. "<ul>"
  for i, childTopic in ipairs(childTopics) do
  output = output .. " <li>" .. "[[" .. childTopic.topicName .. "]]"
   end
   end


Line 40: Line 42:
  end
  end


  output = output .. "</ul>"
  return output


return output
end
end




return p
return p

Revision as of 11:54, 10 June 2025


local p = {} --p stands for package

function p.topicLineage( frame )

 local output = ""
 local parentTopic = frame.args.parentTopic

 local topics, errors = mw.ext.externaldata.getExternalData {
   source = "CaseData"
   , query = "childrenTopics"
   , data = "topicName=topic_name"
   , parameters = parentTopic
  }

 if topics ~= nil then

  output = output .. "<ul>"

  for i, topic in ipairs(topics) do

   output = output .. " <li>" .. "[[" .. topic.topicName .. "]]"

   local childTopics, errors3 = mw.ext.externaldata.getExternalData {
    source = "CaseData"
    , query = "childrenTopics"
    , data = "topicName=topic_name"
    , parameters = topic.topicName
   }

   if childTopics ~= nil then
    output = output .. "<ul>"
    for i, childTopic in ipairs(childTopics) do
     output = output .. " <li>" .. "[[" .. childTopic.topicName .. "]]"
    end
    output = output .. "</ul>"
   end

  end

  output = output .. "</ul>"

 end

 return output

end


return p