Modul:Datei/Work: Unterschied zwischen den Versionen

Aus FürthWiki

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 398: Zeile 398:
local lemma = wik.subpagename()
local lemma = wik.subpagename()
local zeige_nicht_in_attr = "ZeigeNichtIn" .. zeige_nicht_in -- ZeigeNichtInOrt/ZeigeNichtInStraße/..
local zeige_nicht_in_attr = "ZeigeNichtIn" .. zeige_nicht_in -- ZeigeNichtInOrt/ZeigeNichtInStraße/..
-- Datei-Selektor für SMD-Abfrage
local page_selector =
local page_selector =
"[[Datei:+]]" ..
"[[Datei:+]]" ..
Zeile 452: Zeile 453:
end
end


function p.GalerieBilderAusblenden(frame)
function p.GalerieAufbereiten(frame)
local t = ""
local t = ""
local lemma = wik.subpagename()
local lemma = wik.subpagename()
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
t = t ..
-- Datei-Liste in SMD abfragen und als Tabelle aufbereiten
"<br>'''Hier können Sie per Formular die Dateien auswählen," ..
local query = {page_selector,
"die im Artikel " .. lemma .. " nicht angezeigt werden sollen.'''" ..
"[[Datei:+]]" ..
"<br><br>" ..
"[[" .. zeige_nicht_in .. "::" .. lemma .. "]]" .. -- Ort/Straße/.. = Lemma
"'''Es werden nicht angezeigt:'''\n" ..
"[[" .. zeige_nicht_in_attr .. "Formulareintrag::!Ja]]", -- Formular-Eintrag von ZeigeNichtIn...
"<gallery mode=\"packed-hover\">\n"
"?#-", mainlabel = "-", limit = 10000}
-- Liste nicht anzuzeigender Dateien erstellen und gleichzeitig Galerie zusammenbauen
query = mw.smw.ask(query) or {}
local zeige_nicht_dateien = {} -- Datei-Liste
local dateien = {}
for _, d in ipairs(query) do
dateien[d] = true
end
-- nicht anzuzeigende Dateien gemäß Formular wieder austragen
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
table.insert(zeige_nicht_dateien, "Datei:" .. d)
dateien["Datei:" .. d] = nil
t = t .. "Datei:" .. d .. -- Galerie-Eintrag (Datei)
"|<small>[[:Datei:" .. d .. "|" .. d .. "]]</small>\n" -- Hoover-Text
end
end
end
end
t = t .. "</gallery>\n"
-- Anzuzeigende Dateien als Subobjekte setzen
for d, _ in ipairs(dateien) do
mw.smw.subject{["Seite"] = d}
end
-- Formular setzen
-- Formular setzen
t = t .. frame:callParserFunction(
t = t .. frame:callParserFunction(
"#default_form", "Datei/" .. zeige_nicht_in_attr .. "/Work")
"#default_form", "Datei/" .. zeige_nicht_in_attr .. "/Work")
-- Attribute setzen, dass diese Dateien nicht angezeigt werden
table.insert(zeige_nicht_dateien, lemma) -- Lemma muss auch in Attribut:Seite
mw.smw.set{
[zeige_nicht_in_attr] = "Ja",
[zeige_nicht_in] = lemma, -- Straße/Ort = Lemma
["Seite"] = zeige_nicht_dateien} -- Seite = Liste der nicht anzuzeigenden Dateien
-- Wikitext Preprocess
-- Wikitext Preprocess
return frame:preprocess(t)
return t
end
end


return p
return p