Modul:Datei/Work: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 419: Zeile 419:
"-Galerie-Bilder ausblenden/Work}}}\n" ..
"-Galerie-Bilder ausblenden/Work}}}\n" ..
"<table class=\"formtable\">\n"
"<table class=\"formtable\">\n"
local datei, jahr, jahrtext
local jahr, jahrtext
for i, d in ipairs(query) do -- d = Dateiname (mit Datei:)
for i, d in ipairs(query) do -- d = Dateiname (mit Datei:)
datei = string.sub(d[1], 7) -- Datei: abschneiden
local datei = d[1]
erstellungsjahr = d["Erstellungsdatum"] or 0 -- Erstellungsdatum enthält nur Jahr. Siehe oben Format -F[Y]
erstellungsjahr = d["Erstellungsdatum"] or 0 -- Erstellungsdatum enthält nur Jahr. Siehe oben Format -F[Y]
-- Jahres-Überschriften erstellen
-- Jahres-Überschriften erstellen
Zeile 445: Zeile 445:
"  <td>&nbsp;</td>" ..
"  <td>&nbsp;</td>" ..
"<td>{{{field|" .. datei .. "|input type=checkbox}}}</td>\n" ..
"<td>{{{field|" .. datei .. "|input type=checkbox}}}</td>\n" ..
"  <td>[[Datei:" .. datei .. "|120x120px]]</td>\n"
"  <td>[[" .. datei .. "|120x120px]]</td>\n"
if (i - 1) % spalten == (spalten - 1) then
if (i - 1) % spalten == (spalten - 1) then
t = t .. "</tr>\n"
t = t .. "</tr>\n"
Zeile 459: Zeile 459:
local pages = wik.setPagenames()
local pages = wik.setPagenames()
local lemma = pages.subpagename
local lemma = pages.subpagename
local transcluded = (pages.namespace == "") -- wenn innerhalb des normalen Lemma-Namensraum
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 ausgeben, wenn nicht transcluded
if not transcluded then
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," ..
"die im Artikel " .. lemma .. " nicht angezeigt werden sollen.'''" ..
"die im Artikel " .. lemma .. " nicht angezeigt werden sollen.'''" ..
"<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" ..
"<br><br>" ..
"'''Es werden angezeigt:'''\n"
end
-- Datei-Liste in SMD abfragen und als Tabelle aufbereiten
-- Datei-Liste in SMD abfragen und als Tabelle aufbereiten
local query = {"[[Datei:+]]" ..
local query = {"[[Datei:+]]" ..
"[[" .. zeige_nicht_in .. "::" .. lemma .. "]]" .. -- Ort/Straße/.. = Lemma
"[[" .. zeige_nicht_in .. "::" .. lemma .. "]]" .. -- Ort/Straße/.. = Lemma
"[[" .. zeige_nicht_in_attr .. "::!Ja]]", -- Formular-Eintrag von ZeigeNichtIn...
"?#-", "?" .. zeige_nicht_in_attr,
"?#-", mainlabel = "-", limit = 10000}
mainlabel = "-", limit = 10000}
query = mw.smw.ask(query) or {}
query = mw.smw.ask(query) or {}
local dateien = {}
local dateien = {}
for _, d in ipairs(query) do
for _, d in ipairs(query) do
dateien[d[1]] = true
dateien[d[1]] = com.isTrue(d["zeige_nicht_in_attr"])
end
end
-- nicht anzuzeigende Dateien gemäß Formular wieder austragen
-- nicht anzuzeigende Dateien gemäß Formular ebenso ausblenden
for d, z in pairs(frame:getParent().args) do -- d = Dateiname (ohne Datei:)
for d, z in pairs(frame:getParent().args) do -- d = Dateiname (ohne Datei:)
if com.isTrue(z) then -- z = Ja/Nein
if com.isTrue(z) then -- z = Ja/Nein
dateien["Datei:" .. d] = nil
dateien[d] = true
end
end
end
end
-- Anzuzeigende Dateien als Subobjekte setzen
-- Anzuzeigende Dateien als Subobjekte setzen
if not transcluded then
for d, z in pairs(dateien) do
for d, _ in pairs(dateien) do
if not z then
query = {"[[" .. d .. "]]", "?Dateiinfo", "?Erstellungsdatum",
query = {"[[" .. d .. "]]", "?Dateiinfo", "?Erstellungsdatum",
mainlabel = "-", limit = 10000}
mainlabel = "-", limit = 10000}
Zeile 501: Zeile 496:
end
end
end
end
-- Bilder-Galerie erstellen
-- Bilder-Galerie anzeigen
t = t .. "{{#ask:" ..
for _, z in ipairs{false, true} do
"[[-has subobject::" .. pages.fullpagename .. "]]" ..
if z then
"|mainlabel=-" ..
t = t .. "== Nicht angezeigte Dateien ==\n"
"|?Seite" ..
else
"|?Dateiinfo" ..
t = t .. "== Angezeigte Dateien ==\n"
"|?Erstellungsdatum" ..
end
"|format=gallery" ..
t = t .. "<gallery mode=\"packed-hover\">\n"
"|captionproperty=Dateiinfo}}"
for d, zd in pairs(dateien) do
if z == zd then
t = t .. d .. "\n"
-- ..
-- "|<small>[[:" .. d .. "]]</small>\n" -- Hoover-Text
end
end
t = t .. "</gallery>\n"
end
-- Formular setzen
-- Formular setzen
t = t .. frame:callParserFunction(
t = t .. frame:callParserFunction(