Modul:ListenAuswahl: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Stewie (Diskussion | Beiträge) |
Stewie (Diskussion | Beiträge) |
||
Zeile 28: | Zeile 28: | ||
Basistyp = queryResult[1]['Basistyp'] | Basistyp = queryResult[1]['Basistyp'] | ||
Basistyp = string.gsub(Basistyp, "%s+", "_") | Basistyp = string.gsub(Basistyp, "%s+", "_") | ||
− | returnString = Basistyp | + | returnString = "Basistyp: " .. Basistyp |
end | end | ||
Zeile 36: | Zeile 36: | ||
Hauptkategorie = queryResult[1]['Hauptkategorie'] | Hauptkategorie = queryResult[1]['Hauptkategorie'] | ||
Hauptkategorie = string.gsub(Hauptkategorie, "%s+", "_") | Hauptkategorie = string.gsub(Hauptkategorie, "%s+", "_") | ||
− | returnString = Hauptkategorie | + | returnString = "Hauptkategorie: " .. Hauptkategorie |
end | end | ||
--teste ob Seitentyp Kategorie | --teste ob Seitentyp Kategorie |
Version vom 5. Mai 2021, 18:12 Uhr
Die Dokumentation für dieses Modul kann unter Modul:ListenAuswahl/Doku erstellt werden
--[[
Lua Alternative für den ersten Teil der Vorlage:Listen, die weitere Listen je nach art der Seite nachläd.
Bisherige auswahl logik:
Teste ob die Seite von Typ Kategorie ist, wenn ja und vorhanden zeige Liste_Pagename (funktioniert)
Wenn Liste_Pagename nicht vorhanden prüfe ob Liste_Basistyp vorhanden ist und zeige diese an
Wenn nicht vorhanden prüfe ob Liste_Hauptkategorie vorhanden und zeige diese und Liste_Eigenkategorie an
Wenn NICHT Kategorie
Wenn Liste_Hauptkategorie vorhanden zeige diese an (Diese prüft ob sie auf einen Basistyp oder anderen eingebunden wird)
zeige immer Liste GehörtZu an
]]--
local p = {} --local p = {} -- p steht für Paket (engl. package)
function p.Liste( frame )
local Pagename = frame.args['Pagename']
if Pagename == nil then return nil end
local returnString = ""
local queryResult = mw.smw.ask('[['..Pagename..']]|?Seitentyp|?Basistyp|?Hauptkategorie|?=#')
if queryResult == nil then return nil end
local Seitentyp = queryResult[1]['Seitentyp']
returnString = Seitentyp
local Basistyp = nil
if queryResult[1]['Basistyp'] ~= nil
then
Basistyp = queryResult[1]['Basistyp']
Basistyp = string.gsub(Basistyp, "%s+", "_")
returnString = "Basistyp: " .. Basistyp
end
local Hauptkategorie = nil
if queryResult[1]['Hauptkategorie'] ~= nil
then
Hauptkategorie = queryResult[1]['Hauptkategorie']
Hauptkategorie = string.gsub(Hauptkategorie, "%s+", "_")
returnString = "Hauptkategorie: " .. Hauptkategorie
end
--teste ob Seitentyp Kategorie
if Seitentyp == 'Kategorie'
then
-- teste ob Liste_Pagename vorhanden ist
local Vorlage = mw.title.new('Liste_'..Pagename, 'Vorlage' )
-- wenn das der fall ist lade entsprechendes template
if Vorlage.exists ~= nil
then
returnString = mw.getCurrentFrame():expandTemplate{title ="Liste_"..Pagename}
return returnString
end
end
--keine Kategorienliste vorhanden, teste ob Basistyp
if Basistyp ~= nil
then
-- teste ob Liste_Basistyp vorhanden ist
local Vorlage = mw.title.new('Liste_'..Basistyp, 'Vorlage' )
if Vorlage ~= nil
then
returnString = mw.getCurrentFrame():expandTemplate{title ="Liste_"..Basistyp}
return Basistyp .. returnString
end
end
--teste ob Liste_Hauptkategrie vorhanden, wenn ja diese nutzen
if Hauptkategorie ~= nil
then
returnString = returnString .. Hauptkategorie
local Vorlage = mw.title.new('Liste_'..Hauptkategorie, 'Vorlage' )
returnString = returnString .. Vorlage
if Vorlage ~= nil
then
returnString = mw.getCurrentFrame():expandTemplate{title ="Liste_"..Hauptkategorie}
return Hauptkategorie .. returnString
end
end
return returnString
end
return p