Geen bewerkingssamenvatting |
Geen bewerkingssamenvatting |
||
| Regel 27: | Regel 27: | ||
local jaar = frame.args["jaar"] or "" | local jaar = frame.args["jaar"] or "" | ||
-- mSlot. | -- mSlot. | ||
local set = {} | |||
local | |||
local | local labelforTitle = "" | ||
set = { | local labelforTitlePlain = "" | ||
local sortTitle = "" | |||
if tijdschriftid ~= nil then | |||
local periodicalTitle = mSlot.getValueFromTemplateData( "ws-page-props", tijdschriftid, "Periodical", "Titel" ) | |||
labelforTitle = "<i>" .. periodicalTitle .. "</i>" .. " " .. volgnr .. " (" .. jaar .. ")" | |||
labelforTitlePlain = periodicalTitle .. " " .. volgnr .. " (" .. jaar .. ")" | |||
sortTitle = mFormatForSorting.flatten( periodicalTitle ) .. " " .. jaar .. " " .. volgnr | |||
set = { | |||
["Title"] = labelforTitle, | |||
["Title plain"] = labelforTitlePlain, | |||
["Has sort label"] = sortTitle .. "¶", | |||
["Has initial"] = mw.ustring.upper( mw.ustring.sub( sortTitle, 1, 1 ) ) | |||
} | |||
end | |||
local debugmode = frame.args.debugmode or "false" | local debugmode = frame.args.debugmode or "false" | ||
| Regel 52: | Regel 57: | ||
end | end | ||
-- DISPLAYTITLE | if tijdschriftid == nil then return "" end | ||
-- DISPLAYTITLE and DEFAULTSORT | |||
mw.ext.displaytitle.set( labelforTitle ) | mw.ext.displaytitle.set( labelforTitle ) | ||
frame:callParserFunction( 'DEFAULTSORT', { sortTitle } ) | frame:callParserFunction( 'DEFAULTSORT', { sortTitle } ) | ||
Huidige versie van 23 okt 2025 21:05
Module:Class/Periodical issue
{"Has initial":"R","Has sort label":"robbedoes vlaams 1939 0012¶","Title":"Robbedoes (Vlaams) 0012 (1939)","Title plain":"Robbedoes (Vlaams) 0012 (1939)"}
local p = {}
local mSlot = require("Module:Slot")
local mFormatForSorting= require("Module:Format for sorting")
--[[
-->{{#slottemplates:ws-page-props|{{{TijdschriftID|}}}|@periodical-props }}<!--
-->{{#vardefine:@label1|<i>{{#caprint:@periodical-props[Periodical][Titel]}}</i> {{{VolgNr|}}} ({{{Jaar|jaar onbekend}}}) }}<!--
-->{{#vardefine:@label2|{{#caprint:@periodical-props[Periodical][Titel]}} {{{VolgNr|}}} ({{{Jaar|jaar onbekend}}}) }}<!--
year first then issue number
-->{{#vardefine:@sort title|{{Strip title for sorting|1={{lc:{{#caprint:@periodical-props[Periodical][Titel]}}}} }} {{{Jaar|}}} {{{VolgNr|}}} }}<!--
|Title={{#var:@label1}}
|Title plain={{#var:@label2}}
|Has sort label={{#var:@sort title}}¶
|Has initial={{uc:{{#sub:{{#var:@sort title}}|0|1}}}}
-->{{DISPLAYTITLE:{{#var:@label1}}}}<!--
-->{{DEFAULTSORT:{{#var:@sort title}}}}<!--
]]--
p.set = function(frame)
local tijdschriftid = frame.args["tijdschriftid"] or nil
local volgnr = frame.args["volgnr"] or ""
local jaar = frame.args["jaar"] or ""
-- mSlot.
local set = {}
local labelforTitle = ""
local labelforTitlePlain = ""
local sortTitle = ""
if tijdschriftid ~= nil then
local periodicalTitle = mSlot.getValueFromTemplateData( "ws-page-props", tijdschriftid, "Periodical", "Titel" )
labelforTitle = "<i>" .. periodicalTitle .. "</i>" .. " " .. volgnr .. " (" .. jaar .. ")"
labelforTitlePlain = periodicalTitle .. " " .. volgnr .. " (" .. jaar .. ")"
sortTitle = mFormatForSorting.flatten( periodicalTitle ) .. " " .. jaar .. " " .. volgnr
set = {
["Title"] = labelforTitle,
["Title plain"] = labelforTitlePlain,
["Has sort label"] = sortTitle .. "¶",
["Has initial"] = mw.ustring.upper( mw.ustring.sub( sortTitle, 1, 1 ) )
}
end
local debugmode = frame.args.debugmode or "false"
if debugmode == "true" then
return "<pre>" .. mw.text.jsonEncode( set ) .. "</pre>"
end
-- #set
local setResult = nil
if mw.smw then
setResult = mw.smw.set( set )
end
if tijdschriftid == nil then return "" end
-- DISPLAYTITLE and DEFAULTSORT
mw.ext.displaytitle.set( labelforTitle )
frame:callParserFunction( 'DEFAULTSORT', { sortTitle } )
end
return p
