Difference between revisions of "Module:HerbGallery"
From A Wiki in the Desert
(35 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
if not mw.smw then | if not mw.smw then | ||
return "mw.smw module not found" | return "mw.smw module not found" | ||
− | + | end | |
if frame:getParent().args[1] == nil then | if frame:getParent().args[1] == nil then | ||
Line 10: | Line 10: | ||
end | end | ||
− | local queryResult = mw.smw. | + | local queryResult = mw.smw.getQueryResult( '[[Herb/'..mw.text.trim(frame:getParent().args[1])..']]|?Is similar to=name|?Is similar to.Has image=image' ) |
− | + | ||
− | + | if queryResult == nil then | |
return "(no values)" | return "(no values)" | ||
end | end | ||
+ | local imageIndex = 1 | ||
+ | local textIndex = 2 | ||
+ | local galleryArgs = { | ||
+ | width="200", | ||
+ | height="200", | ||
+ | mode="packed" | ||
+ | } | ||
+ | |||
if type( queryResult ) == "table" then | if type( queryResult ) == "table" then | ||
− | + | for k,v in pairs( queryResult.results ) do | |
− | for | + | if type( v ) == "table" and type(v.printouts) == "table" then |
− | + | for kR,vR in pairs( v.printouts.image ) do | |
− | + | galleryArgs[imageIndex] = vR.fulltext | |
− | + | imageIndex = imageIndex + 2 | |
− | + | end | |
− | + | ||
− | + | for kR,vR in pairs( v.printouts.name ) do | |
+ | galleryArgs[textIndex] = '[['..vR.fulltext..'|'..mw.text.split(vR.fulltext, "\/")[2]..']]' | ||
+ | textIndex = textIndex + 2 | ||
+ | end | ||
end | end | ||
end | end | ||
− | return | + | |
+ | mw.logObject(galleryArgs) | ||
+ | return frame:expandTemplate{ title = 'Gallery', args = galleryArgs } | ||
end | end | ||
− | return | + | return "" |
end | end | ||
return p | return p |
Latest revision as of 03:48, 15 May 2021
Documentation for this module may be created at Module:HerbGallery/doc
local p = {} --p stands for package function p.gallery( frame ) if not mw.smw then return "mw.smw module not found" end if frame:getParent().args[1] == nil then return "no parameter found" end local queryResult = mw.smw.getQueryResult( '[[Herb/'..mw.text.trim(frame:getParent().args[1])..']]|?Is similar to=name|?Is similar to.Has image=image' ) if queryResult == nil then return "(no values)" end local imageIndex = 1 local textIndex = 2 local galleryArgs = { width="200", height="200", mode="packed" } if type( queryResult ) == "table" then for k,v in pairs( queryResult.results ) do if type( v ) == "table" and type(v.printouts) == "table" then for kR,vR in pairs( v.printouts.image ) do galleryArgs[imageIndex] = vR.fulltext imageIndex = imageIndex + 2 end for kR,vR in pairs( v.printouts.name ) do galleryArgs[textIndex] = '[['..vR.fulltext..'|'..mw.text.split(vR.fulltext, "\/")[2]..']]' textIndex = textIndex + 2 end end end mw.logObject(galleryArgs) return frame:expandTemplate{ title = 'Gallery', args = galleryArgs } end return "" end return p