Modul:Bild: Unterschied zwischen den Versionen

Aus FürthWiki

(... weitere Bilder anzeigen, Kategorie:Seiten mit vollen Bilder-Galerien)
(+ sort/order-args)
Zeile 7: Zeile 7:
-- mw.logObject(frame, "frame")
-- mw.logObject(frame, "frame")
-- Kommando-Zeile zum Debuggen:
-- Kommando-Zeile zum Debuggen:
-- =p.Galerie()
-- frame=mw.getCurrentFrame(); frame.args={["attr"]="Person",["val"]="Karl Rothammel",["sort"]="Seite",["order"]="asc"}; print(p.Galerie(frame))
local t = ""
local t = ""
local args = wik.getArgs(frame.args, {"attr", "val"})
if args.val == nil then
-- Argumente holen und ggf. default setzen
args.val = wik.pagename()
local args = wik.getArgs(frame.args, {"attr", "val", "sort", "order"})
end
args.val = args.val or wik.pagename()
args.sort = args.sort or "Erstellungsdatum"
args.order = args.order or "desc"


-- Seiten-Selektor
-- Seiten-Selektor
Zeile 56: Zeile 58:
"{{#ask:" .. selector ..  
"{{#ask:" .. selector ..  
"|?Dateiinfo" ..
"|?Dateiinfo" ..
"|sort=Erstellungsdatum, Name" ..
"|sort=" .. args.sort ..
"|order=desc, asc" ..
"|order=" .. args.order ..
"|format=gallery" ..
"|format=gallery" ..
"|limit=" .. n_bilder_limit ..
"|limit=" .. n_bilder_limit ..
Zeile 74: Zeile 76:
-- mw.logObject(t, "t")
-- mw.logObject(t, "t")
t = frame:preprocess(t)
t = frame:preprocess(t)
-- mw.logObject(t, "t")
return t
return t
end
end


return p
return p

Version vom 29. November 2025, 10:50 Uhr

Seiten-Übersicht

Zur Klasse Bild gehörende Seiten:
Hauptseite Unterseiten
Allgemein
Faktenbox Vorlagen
Formulare
Module
Abfrage Vorlagen


Formulare


Sonstige


Galerie()

Diese Funktion fügt via der {{Bilder dies...}}-Vorlagen, der {{Werke dies...}}-Vorlagen oder der {{Galerie|...}}-Vorlage alle zugehörigen Bilder in eine Artikelseite ein.

Parameter Überschrift rechts
attr (Frei-)Attribut-Name
val Attribut-Wert (optional, default ist {{PAGENAME}})
attr_zeige_nicht Zeige-Nicht-Attribut-Name
sort Sortier-Attribut der ask-Abfrage (optional, default ist Erstellungsdatum)
order Sortier-Reihenfolge der ask-Abfrage (optional, default ist desc)

Bilder diese... Seiten

Werke diese... Seiten

Nicht alle davon sind eine Bilder-Galerie!

Siehe auch


local p = {}

local wik = require("Modul:Wiki")

function p.Galerie(frame)
--	mw.log("Galerie(frame)")
--	mw.logObject(frame, "frame")
	-- Kommando-Zeile zum Debuggen:
	-- frame=mw.getCurrentFrame(); frame.args={["attr"]="Person",["val"]="Karl Rothammel",["sort"]="Seite",["order"]="asc"}; print(p.Galerie(frame))
	local t = ""
	
	-- Argumente holen und ggf. default setzen
	local args = wik.getArgs(frame.args, {"attr", "val", "sort", "order"})
	args.val = args.val or wik.pagename()
	args.sort = args.sort or "Erstellungsdatum"
	args.order = args.order or "desc"

	-- Seiten-Selektor
	local selector = "[[Datei:+]][[Kategorie:Bilder]]"
	if args.attr ~= nil and args.val ~= nil then
		selector = selector .. "[[" .. args.attr .. "::" .. args.val .. "]]"
	end

	-- Bilder-Anzahl
	local n_bilder = mw.smw.ask(selector .. "|format=count")
	t = t .. "{{#set:Bilderanzahl=" .. n_bilder .. "}}"
	if n_bilder == 0 then
		t = t ..
			"Keine Bilder gefunden" ..
			"[[Kategorie:Seiten mit leeren Bilder-Galerien]]"
	else

		-- Abfrage-Link-Teile
		local queryformlink_part1 =
			"{{#queryformlink:" ..
			"form=Abfrage Bilder" ..
			"|link text="
		local queryformlink_part2 =
			"|query string=Abfrage Bilder[attrname]=" .. args.attr ..
			"&Abfrage Bilder[attrval]=" .. args.val ..
			"&Abfrage Bilder[format]="
		local queryformlink_part3 =
			"&Abfrage Bilder[limit]=2000" ..
			"&Abfrage Bilder[Sortierung]=Chronologisch absteigend" ..
			"&_run}}"

		-- Bilder-Galerie und Abfrage-Links
		local n_bilder_limit = 200
		t = t ..
			"'''Bilder als " ..
			queryformlink_part1 .. "Galerie" ..
			queryformlink_part2 .. "Galerie" ..
			queryformlink_part3 .. " / " ..
			queryformlink_part1 .. "Tabelle" ..
			queryformlink_part2 .. "Tabelle" ..
			queryformlink_part3 ..
			" anzeigen, sortieren und filtern'''"..
			"{{#ask:" .. selector .. 
			"|?Dateiinfo" ..
			"|sort=" .. args.sort ..
			"|order=" .. args.order ..
			"|format=gallery" ..
			"|limit=" .. n_bilder_limit ..
			"|searchlabel=" ..
			"}}"
		if n_bilder > n_bilder_limit then
			t = t ..
				queryformlink_part1 .. "... weitere Bilder anzeigen" ..
				queryformlink_part2 .. "Galerie" ..
				queryformlink_part3 ..
				"[[Kategorie:Seiten mit vollen Bilder-Galerien]]"
		end

	end -- if n_bilder == 0 then ... else ...

--	mw.logObject(t, "t")
	t = frame:preprocess(t)
	return t
end

return p