Modul:Formular/Work: Unterschied zwischen den Versionen

Aus FürthWiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 43: Zeile 43:
function p.ArtikelCommon(args)
function p.ArtikelCommon(args)
local t = ""
local t = ""
t = t .. "= Artikel =\n"
-- t = t .. "= Artikel =\n"
t = t .. "{{{standard input|free text|rows=25|editor=wikieditor}}}"
t = t .. "{{{standard input|free text|rows=25|editor=wikieditor}}}"
t = t .. "{{{standard input|summary}}}"
t = t .. "{{{standard input|summary}}}"

Version vom 6. März 2026, 23:57 Uhr

local p = {}

local atr = require("Modul:Attribut")
local str = require("Modul:String")

function p.attrForm(frame, attr_data)
	-- Kommandozeile zum Debuggen:
	-- frame=mw.getCurrentFrame(); print(p.attrForm(frame, {{["Attribut"]="At",["Einzahl"]="Ez",["Infotext"]="It",["FieldArgs"]="fa1|fa2|fa3"},{["Attribut"]="At_",["Einzahl"]="Ez_",["Infotext"]="It_",["FieldArgs"]="fa1_|fa2_|fa3_"}}))
	local t = "<table class=\"formtable\">\n"
	for _, attr in ipairs(attr_data.list) do									-- bislang nur Listen-Support, kein 2D via .form_layout
		local attr_attr = attr_data.attr[attr]									-- Attribute des Attributs attr
		local attr_text = attr_attr["Einzahl"]
		local delimiter = attr_attr["Delimiter"]
		local info = attr_attr["Infotext"] or ""
		local field = attr_attr["FieldArgs"] or ""
		-- info zusammenbauen
		if info ~= "" then
			info = info .. "."
			if delimiter ~= nil and
				string.find(field, "tokens") == nil then
				info = info .. " Mehrere Eintragungen möglich, zu trennen per " ..
					delimiter
			end
			info = string.gsub(info, "%.%.", ".")
			info = frame:callParserFunction("#info", info, "note")
		end
		-- field zusammenbauen
		if field ~= "" then
			field = "|" .. field
		end
		field = str.appendWithSeparator("{{{field|" .. attr, "|", field) .. "}}}"
		t = t ..
			"<tr>\n" ..
			"  <th style=\"vertical-align:middle;\">" .. attr_text .. ":</th>\n" ..
			"  <td style=\"vertical-align:middle;\">" .. info .. "</td>\n" ..
			"  <td style=\"vertical-align:middle;\">" .. field .. "</td>\n" ..
			"</tr>\n"
	end
	t = t .. "</table>\n"
	return t
end

function p.ArtikelCommon(args)
	local t = ""
--	t = t .. "= Artikel =\n"
	t = t .. "{{{standard input|free text|rows=25|editor=wikieditor}}}"
	t = t .. "{{{standard input|summary}}}"
	t = t .. "{{{standard input|minor edit}}} {{{standard input|watch}}}<br>"
	t = t .. "{{{standard input|save}}} {{{standard input|changes}}} {{{standard input|cancel}}}"
	t = t .. "__NOTOC__"
	t = t .. "__NOEDITSECTION__"
	return t
end

return p