Modul:Datei/Work: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 461: Zeile 461:
local zeige_nicht_in = frame.args[1] -- Straße, Ort oder ...
local zeige_nicht_in = frame.args[1] -- Straße, Ort oder ...
local zeige_nicht_in_attr = "ZeigeNichtIn" .. zeige_nicht_in
local zeige_nicht_in_attr = "ZeigeNichtIn" .. zeige_nicht_in
-- Info-Text ausgeben, wenn nicht transcluded
-- Info-Text
t = t ..
t = t ..
"<br>'''Hier können Sie per Formular die Dateien auswählen," ..
"<br>'''Hier können Sie per Formular die Dateien auswählen," ..
Zeile 467: Zeile 467:
"<br>" ..
"<br>" ..
"'''Hinweis:''' Nach dem Speichern müssen Sie nochmal bearbeiten und speichern!\n"
"'''Hinweis:''' Nach dem Speichern müssen Sie nochmal bearbeiten und speichern!\n"
-- Formular setzen
t = t .. frame:callParserFunction(
"#default_form", "Datei/" .. zeige_nicht_in_attr .. "/Work")
-- Datei-Liste in SMD abfragen und als Tabelle aufbereiten
-- Datei-Liste in SMD abfragen und als Tabelle aufbereiten
local query = {"[[Datei:+]][[" .. zeige_nicht_in .. "::" .. lemma .. "]]", -- Ort/Straße/.. = Lemma
local query = {"[[Datei:+]][[" .. zeige_nicht_in .. "::" .. lemma .. "]]", -- Ort/Straße/.. = Lemma
"?#-", "?" .. zeige_nicht_in_attr, "?Dateiinfo", "?Erstellungsdatum",
"?#-", "?" .. zeige_nicht_in_attr,
mainlabel = "-", limit = 10000}
mainlabel = "-", limit = 10000}
dateien = mw.smw.ask(query) or {}
dateien = mw.smw.ask(query) or {}
-- Datei-Tabelle umformen
-- Datei-Tabelle umformen
for i, d in ipairs(dateien) do
for i, d in ipairs(dateien) do
dateien[d[1]] = {
dateien[d[1]] = com.isTrue(d[zeige_nicht_in_attr])
zeige_nicht = com.isTrue(d[zeige_nicht_in_attr]),
dateiinfo = d["Dateiinfo"],
erstellungsdatum = d["Erstellungsdatum"]}
dateien[i] = nil
dateien[i] = nil
end
end
Zeile 483: Zeile 483:
for d, z in pairs(frame:getParent().args) do
for d, z in pairs(frame:getParent().args) do
if com.isTrue(z) and dateien[d] ~= nil then
if com.isTrue(z) and dateien[d] ~= nil then
dateien[d].zeige_nicht = true
dateien[d] = true
end
end
-- Attribute setzen
mw.smw.set{[zeige_nicht_in_attr] = "Ja", ["Seite"] = lemma}
-- Anzuzeigende Dateien als Subobjekte setzen
for d, z in pairs(dateien) do
if not z then
mw.smw.subobject{["Seite"] = d}
end
end
end
end
Zeile 501: Zeile 509:
t = t .. "</gallery>\n"
t = t .. "</gallery>\n"
end
end
-- Attribute setzen
mw.smw.set{[zeige_nicht_in_attr] = "Ja", ["Seite"] = lemma}
-- Anzuzeigende Dateien als Subobjekte setzen
for d, dt in pairs(dateien) do
if not dt.zeige_nicht then
mw.smw.subobject{
smw.subobjectIdCleaner(d),
["Seite"] = d,
["Dateiinfo"] = dt.dateiinfo,
["Erstellungsdatum"] = dt.erstellungsdatum}
end
end
-- Formular setzen
t = t .. frame:callParserFunction(
"#default_form", "Datei/" .. zeige_nicht_in_attr .. "/Work")
-- Wikitext Preprocess
-- Wikitext Preprocess
return frame:preprocess(t)
return frame:preprocess(t)