Modul: Studienprofil: Unterschied zwischen den Versionen

Aus MAV
Wechseln zu: Navigation, Suche
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 4: Zeile 4:
local personsearchresult = ''
local personsearchresult = ''
personsearchresult = mw.smw.ask( '[[Kategorie:Ausbildung]][[Beginn::>' .. Ende .. ']][[Ende::>' .. Beginn .. ']][[Geographikum::Universität Wittenberg]]|mainlabel=-|?Beginn|?Ende|sort=DatumSortiert|format=plainlist' )
personsearchresult = mw.smw.ask( '[[Kategorie:Ausbildung]][[Beginn::>' .. Ende .. ']][[Ende::>' .. Beginn .. ']][[Geographikum::Universität Wittenberg]]|?Beginn|?Ende' )


return personsearchresult
if not personsearchresult then
return 'Keine Mitstudenten gefunden'
end
local out = '{| class="wikitable sortable"\n'
out = out .. '! Name !! Beginn !! Ende\n'
  for _, row in ipairs(result) do
    out = out .. '|-\n'
    out = out .. '| ' .. row.fulltext .. '\n'
    out = out .. '| ' .. (row.Alter or '') .. '\n'
    out = out .. '| ' .. (row.Beruf or '') .. '\n'
  end
  out = out .. '|}'
  return out
end
end



Version vom 3. Januar 2026, 22:55 Uhr

Aufruf der Funktion

Bitte exakt nach folgendem Schema in der "Vorlage:MAV" aufrufen

{{#invoke:Studienprofil|combinedStudienprofiles|{{SUBPAGENAME}}}}

local p = {}

function p.getStudents(Beginn, Ende)
	
	local personsearchresult = ''
	personsearchresult = mw.smw.ask( '[[Kategorie:Ausbildung]][[Beginn::>' .. Ende .. ']][[Ende::>' .. Beginn .. ']][[Geographikum::Universität Wittenberg]]|?Beginn|?Ende' )

	if not personsearchresult then
		return 'Keine Mitstudenten gefunden'
	end
	
	local out = '{| class="wikitable sortable"\n'
	out = out .. '! Name !! Beginn !! Ende\n'
	
	  for _, row in ipairs(result) do
	    out = out .. '|-\n'
	    out = out .. '| ' .. row.fulltext .. '\n'
	    out = out .. '| ' .. (row.Alter or '') .. '\n'
	    out = out .. '| ' .. (row.Beruf or '') .. '\n'
	  end
	  out = out .. '|}'
	  return out
end

function p.createSingleStudienprofil(Beginn, Ende)
	
	local returnstring = ''
	
	returnstring = "'''Mitstudenten: '''\n" .. p.getStudents(Beginn, Ende)
	

	return returnstring
	
end

function p.combinedStudienprofiles(frame)

	local queryResult = ''
	local pagename = frame.args[1] 
	local returnvalue = ''
	
    queryResult = mw.smw.ask( '[[Kategorie:Ausbildung]][[Person::' .. pagename .. ']][[Geographikum::Universität Wittenberg]]|mainlabel=-|?Beginn|?Ende|sort=DatumSortiert|format=plainlist' )

    if queryResult == nil then
        return 'Keine Angaben zu einem Studium in Wittenberg gefunden.'
    end

    if type( queryResult ) == "table" then
        local Beginn = ''
        local Ende = ''
        for num, row in pairs( queryResult ) do
            for property, data in pairs( row ) do
                if property == 'Beginn' then
                	Beginn = data
                elseif property == 'Ende' then
                	Ende = data 
                end
            end
            returnvalue = returnvalue .. '=== Studium (von ' .. Beginn .. ' bis ' .. Ende .. ') ===\n' .. p.createSingleStudienprofil(Beginn, Ende)
		end
    end
	return returnvalue
end

return p