Modul:Quickbar Region

Aus Wikivoyage
Zur Navigation springen Zur Suche springen
Template-info.png Dokumentation für das Modul Quickbar Region[Ansicht] [Bearbeiten] [Versionsgeschichte] [Aktualisieren]

Dieses Modul erzeugt eine Quickbar, die für Regionenarikel (allgemeine Regionen, Provinzen, Bundesstaaten aber auch Nationalparks usw... verwendet werden kann

Allgemein gültige Parameter

Die allgemein gültigen Parameter kann man sowohl innerhalb der Vorlage in der Parserfunktion invoke benutzen, als auch innerhalb des Artikels der Vorlage selbst übergeben. Der Paramter, der bei der Einbindung der Vorlage benutzt wird, hat dabei Vorrang. So kann man bestimmte Funktionalitäten für den generellen Gebrauch der Vorlage aktivieren (über invoke) und im Einzelfall im Artikel abschalten (bei der Verwendung der Vorlage).

  • |ignore_errors= auf 1 oder true gesetzt, werden die Ausgabe der Fehlermeldungen der Funktionen unterdrückt. Standardmäßig werden die Fehler angezeigt.
  • |no_category= auf 1 oder true gesetzt, werden die Artikel bei Fehlermeldungen des Moduls einer Fehlerkategorie zugeordnet. Standardmäßig werden Fehlermeldungen in die Kategorie Fehlerberichte des Moduls Quickbar Region eingefügt. Wurden unbekannte Parameter verwendet landen die Artikel zusätzlich in der Kategorie Vorlagen mit unbekannten Parametern.
  • |error_category= gibt den Namen einer Fehlerkategorie an, in der der Artikel bei auftretenden Fehlern einsortiert wird. Standardmäßig ist das Fehlerberichte des Moduls Quickbar Region.

Submodule

  • Modul:Quickbar Region/Params – enthält ein mehrdimensionales Array mit allen erlaubten Parametern für jede Funktion/Vorlage und ihre Standardbelegung.
  • Modul:Wikidata2 – liest Daten aus Wikidata-Objekten aus.
  • Modul:Quickbar2 – stellt Bausteine zum Aufbau einer Quickbar zur Verfügung.
  • Modul:Imagemap – generiert Imagemaps (anklickbare Karten).
  • Modul:Yesno – wertet Angaben wie ja/nein als boolschen Wert aus.

Verwandte Module

Benötigte weitere Module

Dieses Modul benötigt folgende weitere Module: Check2 • Imagemap • Quickbar2 • Wikidata2 • Yesno
Hinweise
local qbCheck  = require('Modul:Check2')
local qb       = require('Modul:Quickbar2')
local wd       = require('Modul:Wikidata2')
local yesno    = require('Modul:Yesno')
local im       = require('Modul:Imagemap')

local cfgParams      = mw.loadData('Modul:Quickbar Region/Params')

-- Auswertung und Prüfung von übergebenen Parametern
local function getParameter ( Frame, Params, Parameter )
   local argsParent = Frame:getParent().args
   local argsFrame = Frame.args
   for key,value in pairs ( argsParent ) do
      argsParent[string.lower(key)] = value
   end
   for key,value in pairs ( argsFrame ) do
      argsFrame[string.lower(key)] = value
   end
   return argsParent[Parameter] or argsFrame[Parameter] or Params[Parameter]
end

local function imageAlternative ( imageWikiText )
	local tmpImage = mw.ustring.gsub ( imageWikiText, '|thumb|', '|' )
	tmpImage = mw.ustring.gsub ( imageWikiText, '|mini|', '|' )
	tmpImage = mw.ustring.gsub ( imageWikiText, '|thumb%]', ']' )
	tmpImage = mw.ustring.gsub ( imageWikiText, '|mini%]', ']' )
	if ( mw.ustring.gmatch ( tmpImage, '|%d+px' ) == nil ) then
		tmpImage = mw.ustring.gsub ( tmpImage , '%]', '|400px]' )
	end
	tmpImage = mw.ustring.gsub ( tmpImage , '|.*px|', '|400px|thumb|' )
	tmpImage = mw.ustring.gsub ( tmpImage , '|.*px%]', '|400px|thumb]' )
	return tmpImage
end

local qbRegion = {}

function qbRegion.qb_region ( qbFrame )
   
   local templateArgs   = qbFrame:getParent().args

   local display = ''
   local categories = ''
   local errorStr   = ''
   if ( not wd.hasEntity() ) then errorStr = '[[Kategorie:Artikel ohne Objekt auf Wikidata]]' end
   local fileCheck  = ''
   local qbTitle    = ''

   local itemParameter  = ''
   local itemValue      = ''

   local qbID = getParameter ( qbFrame, cfgParams["qb_region"], 'id' )
   local qbIDText = qbID
   if ( qbIDText == 'self' ) then qbIDText = wd.EntityId() end

   local qbNamen = getParameter ( qbFrame, cfgParams["qb_region"], 'namen' )
   
   local qbImage = getParameter ( qbFrame, cfgParams["qb_region"], 'bild' )
   local imgProp = wd.getProperty ( wd.getBestStatement( qbIDText, 'P18' ).statement, 'Quickbar Bild' )
   
   local qbDomain = wd.getDomain(qbIDText):sub(2)
   if ( qbDomain == '' ) then qbDomain = 'unknown-tld' end
   display = display .. '<div class="qbRightDiv"><table cellspacing="0" class="qb qb-region qb-'..qbDomain..'">'
   local displayItem = false

   -- Nur Flagge gewünscht? wenn leer, dann aus Wikidata beziehen
   if ( 
         qbCheck._isParamUsed ( templateArgs, 'flagge' ) and 
         not qbCheck._isParamUsed ( templateArgs, 'wappen' ) and 
         not qbCheck._isParamUsed ( templateArgs, 'siegel' ) and 
         not yesno ( getParameter ( qbFrame, cfgParams["qb_region"], 'noflag' ) ) 
      ) then
      display = display .. qb.createEntryImage ( 
         getParameter ( qbFrame, cfgParams["qb_region"], 'flagge' ), 
         wd.getProperty ( wd.getBestStatement( qbIDText, 'P41' ).statement, 'Quickbar Flagge' ), 
         qbIDText,
         'P41',
         'qb-flag carousel-1', 
         'Flagge', 
         'Artikel ohne Flagge auf Wikidata', 
         'Artikel ohne Flagge in der Quickbar'
      )
   end

   -- Nur Wappen gewünscht? wenn leer, dann aus Wikidata beziehen
   if ( 
         qbCheck._isParamUsed ( templateArgs, 'wappen' ) and 
         not qbCheck._isParamUsed ( templateArgs, 'flagge' ) and
         not qbCheck._isParamUsed ( templateArgs, 'siegel' ) and
         not yesno ( getParameter ( qbFrame, cfgParams["qb_region"], 'nocoa' ) ) 
      ) then
      display = display .. qb.createEntryImage ( 
         getParameter ( qbFrame, cfgParams["qb_region"], 'wappen' ), 
         wd.getProperty ( wd.getBestStatement( qbIDText, 'P94' ).statement, 'Quickbar Wappen' ), 
         qbIDText,
         'P94',
         'qb-coat-of-arms carousel-1', 
         'Wappen', 
         'Artikel ohne Wappen auf Wikidata', 
         'Artikel ohne Wappen in der Quickbar'
      )
   end

   -- Flagge und Wappen gewünscht? wenn leer, dann aus Wikidata beziehen
   if ( 
         ( qbCheck._isParamUsed ( templateArgs, 'wappen' ) and 
         not yesno ( getParameter ( qbFrame, cfgParams["qb_region"], 'nocoa' ) ) ) and
         ( qbCheck._isParamUsed ( templateArgs, 'flagge' ) and
         not yesno ( getParameter ( qbFrame, cfgParams["qb_region"], 'noflag' ) ) )
      ) then
      display = display .. qb.createEntryTwoImages  ( 
         getParameter ( qbFrame, cfgParams["qb_region"], 'flagge' ), 
         wd.getProperty ( wd.getBestStatement( qbIDText, 'P41' ).statement, 'Quickbar Flagge' ), 
         qbIDText, 
         'P41',
         'qb-flag', 
         'Flagge', 
         'Artikel ohne Flagge auf Wikidata', 
         'Artikel ohne Flagge in der Quickbar',
         getParameter ( qbFrame, cfgParams["qb_region"], 'wappen' ), 
         wd.getProperty ( wd.getBestStatement( qbIDText, 'P94' ).statement, 'Quickbar Wappen' ), 
         qbIDText, 
         'P94',
         'qb-coat-of-arms', 
         'Wappen', 
         'Artikel ohne Wappen auf Wikidata', 
         'Artikel ohne Wappen in der Quickbar',
         'carousel-1'
      )
   end

   -- Flagge und Siegel gewünscht? wenn leer, dann aus Wikidata beziehen
   if ( 
         ( qbCheck._isParamUsed ( templateArgs, 'siegel' ) and 
         not yesno ( getParameter ( qbFrame, cfgParams["qb_region"], 'noseal' ) ) ) and
         ( qbCheck._isParamUsed ( templateArgs, 'flagge' ) and
         not yesno ( getParameter ( qbFrame, cfgParams["qb_region"], 'noflag' ) ) )
      ) then
      display = display .. qb.createEntryTwoImages  ( 
         getParameter ( qbFrame, cfgParams["qb_region"], 'flagge' ), 
         wd.getProperty ( wd.getBestStatement( qbIDText, 'P41' ).statement, 'Quickbar Flagge' ), 
         qbIDText, 
         'P41',
         'qb-flag carousel-1', 
         'Flagge', 
         'Artikel ohne Flagge auf Wikidata', 
         'Artikel ohne Flagge in der Quickbar',
         getParameter ( qbFrame, cfgParams["qb_region"], 'siegel' ), 
         wd.getProperty ( wd.getBestStatement( qbIDText, 'P158' ).statement, 'Quickbar Siegel' ), 
         qbIDText, 
         'P158',
         'qb-seal carousel-1', 
         'Siegel', 
         'Artikel ohne Siegel auf Wikidata', 
         'Artikel ohne Siegel in der Quickbar',
         'carousel-1'
      )
   end

   -- Siegel gewünscht? wenn leer, dann aus Wikidata beziehen
   if ( 
         qbCheck._isParamUsed ( templateArgs, 'siegel' ) and 
         not qbCheck._isParamUsed ( templateArgs, 'flagge' ) and
         not qbCheck._isParamUsed ( templateArgs, 'wappen' ) and
         not yesno ( getParameter ( qbFrame, cfgParams["qb_region"], 'noseal' ) ) 
      ) then
      display = display .. qb.createEntryImage (
         getParameter ( qbFrame, cfgParams["qb_region"], 'siegel' ), 
         wd.getProperty ( wd.getBestStatement( qbIDText, 'P158' ).statement, 'Quickbar Siegel' ), 
         qbIDText,
         'P158',
         'qb-seal carousel-1', 
         'Siegel', 
         'Artikel ohne Siegel auf Wikidata', 
         'Artikel ohne Siegel in der Quickbar' 
      )
   end

   -- Bild
   if ( qbCheck._isParamUsed ( templateArgs, 'bild' ) ) then
      display = display .. qb.createEntryImage ( 
         qbImage, 
         imgProp, 
         qbIDText,
         'P18',
         'carousel-1', 
         'Bild', 
         'Artikel ohne Bild auf Wikidata', 
         'Artikel ohne Bild in der Quickbar' 
      )
   end
   
   -- Überschrift
   if ( qbNamen == '' ) then
      qbTitle = wd.getLabel(qbID).label
   else
      qbTitle = qbNamen
   end
   if ( qbTitle == '' ) then qbTitle = 'Kurzinfos' end
   display = display .. qb.theader ( 2, qbTitle )
   
   -- Provinz
	if ( qbCheck._isParamUsed ( qbFrame:getParent().args, 'provinz' ) ) then
		local provinceItem = wd.getProvince ( qbID )
		itemParameter = getParameter ( qbFrame, cfgParams["qb_region"], 'provinz' )
		if ( yesno ( itemParameter, true ) ) then
			if ( yesno ( itemParameter ) ) then itemParameter = '' end			
			if ( itemParameter == '' ) then
				if ( qbIDText ~= '' ) then
					if ( provinceItem.errCode == 1 ) then
						display = display .. qb.trItemTH ( 'qb-province carousel-2', provinceItem.provinceLabel, '<span class="wikidata-content">' .. provinceItem.provinceLink .. '</span>' )
						if ( provinceItem.errTxtShort ~= '' and not qbStaatOK ) then
							display = display .. qb.trSingleTD ( 'qb-wd-comment', provinceItem.errTxtShort )
						end
					end
					if ( provinceItem.errCode == 0 or provinceItem.errCode == 2 ) then
						display = display .. qb.trItemTH ( 'qb-province carousel-2', provinceItem.provinceLabel, provinceItem.provinceLink )
						display = display .. qb.trSingleTD ( 'qb-wd-comment', provinceItem.errTxtShort )
					end
					if ( provinceItem.errCode == 3 ) then
						display = display .. qb.trItemTH ( 'qbEmpty qb-province carousel-2', provinceItem.provinceLabel, '<em>unbekannt</em>' )
						display = display .. qb.trSingleTD ( 'qb-wd-comment', provinceItem.errTxtShort )
					end
					if ( provinceItem.errCode == 4 ) then
						display = display .. qb.trItemTH ( 'qbEmpty qb-province carousel-2', provinceItem.provinceLabel, '<em>unbekannt</em>' )
						display = display .. qb.trSingleTD ( 'qb-wd-comment', provinceItem.errTxtShort )
					end
					displayItem = true
				end
			else
				local itemParameter2 = getParameter ( qbFrame, cfgParams["qb_region"], 'provinzlabel' )
				if ( itemParameter2 ~= '' ) then 
					display = display .. qb.trItemTH ( 'qb-province carousel-2', itemParameter2, itemParameter )
				elseif ( provinceItem.provinceLabel ~= '' ) then 
					display = display .. qb.trItemTH ( 'qb-province carousel-2', provinceItem.provinceLabel, itemParameter )
				else
					display = display .. qb.trItemTH ( 'qb-province carousel-2', 'Provinz', itemParameter )
				end
				displayItem = true
			end
	  end
	end
   
   -- Hauptstadt
   if ( qbCheck._isParamUsed ( templateArgs, 'hauptstadt' ) ) then
      display = display .. qb.createEntry ( 
         getParameter ( qbFrame, cfgParams["qb_region"], 'hauptstadt' ), 
         wd.getProperty ( wd.getBestStatement( qbIDText, 'P36' ).statement, 'Quickbar Hauptstadt' ), 
         qbIDText,
         'P36', 
         'qb-capital carousel-2', 
         'Hauptstadt', 
         'Artikel ohne Hauptstadt auf Wikidata', 
         'Artikel mit abweichender Hauptstadt auf Wikidata'
      )
   end
   
   -- Einwohner
   if ( qbCheck._isParamUsed ( templateArgs, 'einwohner' ) ) then
      display = display .. qb.createEntryQuantity ( 
         getParameter ( qbFrame, cfgParams["qb_region"], 'einwohner' ), 
         wd.getProperty ( wd.getBestStatement( qbIDText, 'P1082' ).statement ), 
         qbIDText, 
         'P1082',
         'Quickbar Einwohner',
         'qb-population carousel-2', 
         'Einwohner', 
         'Artikel ohne Einwohnerzahl auf Wikidata', 
         'Artikel mit abweichender Einwohnerzahl auf Wikidata',
         'Artikel mit identischer Einwohnerzahl auf Wikidata'
         )
   end
   
   -- Fläche
   if ( qbCheck._isParamUsed ( templateArgs, 'fläche' ) ) then
      display = display .. qb.createEntryQuantity ( 
         getParameter ( qbFrame, cfgParams["qb_region"], 'fläche' ), 
         wd.getProperty ( wd.getBestStatement( qbIDText, 'P2046' ).statement ), 
         qbIDText, 
         'P2046',
         'Quickbar Fläche',
         'qb-area carousel-2', 
         'Fläche', 
         'Artikel ohne Fläche auf Wikidata', 
         'Artikel mit abweichender Fläche auf Wikidata',
         'Artikel mit identischer Fläche auf Wikidata' 
         )
   end
   
   -- Postleitzahl
   if ( qbCheck._isParamUsed ( templateArgs, 'postleitzahl' ) ) then
      display = display .. qb.createEntry ( 
         getParameter ( qbFrame, cfgParams["qb_region"], 'postleitzahl' ), 
         wd.getProperty ( wd.getBestStatement( qbIDText, 'P281' ).statement ), 
         qbIDText, 
         'P281',
         'qb-postal-code carousel-2', 
         'Postleitzahl', 
         'Artikel ohne Postleitzahl auf Wikidata', 
         'Artikel mit abweichender Postleitzahl auf Wikidata'
      )
   end
   
   -- Vorwahl
   if ( qbCheck._isParamUsed ( templateArgs, 'vorwahl' ) ) then
      display = display .. qb.createEntry ( 
         getParameter ( qbFrame, cfgParams["qb_region"], 'vorwahl' ), 
         wd.getProperty ( wd.getBestStatement( qbIDText, 'P473' ).statement ), 
         qbIDText,
         'P473',
         'qb-area-code carousel-2', 
         'Vorwahl', 
         'Artikel ohne Vorwahl auf Wikidata', 
         'Artikel mit abweichender Vorwahl auf Wikidata'
      )
   end

	-- Zeitone   
	if ( qbCheck._isParamUsed ( qbFrame:getParent().args, 'zeitzone' ) or qbAuto ) then
		local zeitzone = getParameter ( qbFrame, cfgParams["qb_region"], 'zeitzone' )
		if ( yesno ( zeitzone, true ) ) then
			if ( yesno ( zeitzone ) ) then zeitzone = '' end
			display = display .. qb.createEntry ( 
			zeitzone, 
			wd.getProperty ( wd.getBestStatement( qbIDText, 'P421' ).statement, 'Quickbar Zeitzone' ),
			qbIDText,
			'P421',
			'qb-timezone carousel-2', 
			'Zeitzone',
			'Artikel ohne Zeitzone auf Wikidata', 
			nil,
			'Artikel mit identischer Zeitzone auf Wikidata'
			)
		end
	end
   
   -- Webseite
   if ( qbCheck._isParamUsed ( templateArgs, 'webseite' ) ) then
      display = display .. qb.createEntry ( 
         getParameter ( qbFrame, cfgParams["qb_region"], 'webseite' ), 
         wd.getProperty ( wd.getBestStatement( qbIDText, 'P856' ).statement, 'P856-link+site' ), 
         qbIDText, 
         'P856',
         'qb-website carousel-2', 
         'Webseite', 
         'Artikel ohne offizielle Webseite auf Wikidata‎'
         -- keine Kategorie
      )
   end
   
   -- TouriInfoWeb und TouriInfoTel (neu)
   local showTouriInfo = false
   local showTouriInfoError = false
   
   local displayTouriInfoWeb = ''
   local displayTouriInfoTel = ''
   local displayTouriInfoError = ''
   
   local touriInfoID = ''
   
   -- TouriInfo abfragen
   local wdTouriInfo = wd.getBestStatement ( qbIDText, 'P2872' )
   -- keine Touriinfo auf WD hinterlegt
   if ( wdTouriInfo.errCode == 0 ) then
      displayTouriInfoError = displayTouriInfoError .. qb.trSingleTD ( 'qb-wd-comment carousel-2', 'keine Touristinfo auf Wikidata: [[File:View-so edit simple.svg|15px|link=wikidata:' .. qbIDText .. '|class=noviewer|Touristeninfo nachtragen]]' )
      displayTouriInfoError = displayTouriInfoError .. '[[Kategorie:Artikel ohne Touristeninformation auf Wikidata]]'
      showTouriInfoError = true
   end
   if ( wdTouriInfo.errCode == 2 ) then
      displayTouriInfoError = displayTouriInfoError .. qb.trSingleTD ( 'qb-wd-comment carousel-2', 'kein Objekt auf Wikidata: ([https://www.wikidata.org/w/index.php?search=&title=Special%3ASearch&go=Seite Suchen und Anlegen])' )
      showTouriInfoError = true
   end
   if ( wdTouriInfo.errCode == 1 ) then
      touriInfoID = wd.getProperty ( wdTouriInfo.statement, 'ID' )
   end
   
   -- Prüfen, TouriInfoWeb ob gewollt oder nicht
   if ( qbCheck._isParamUsed ( qbFrame:getParent().args, 'touriinfoweb' ) or qbAuto ) then
      local touriInfoWeb = getParameter ( qbFrame, cfgParams["qb_ort"], 'touriinfoweb' )
   	  if ( yesno ( touriInfoWeb, true ) ) then
   	     if ( yesno ( touriInfoWeb ) ) then touriInfoWeb = '' end
         -- TouriInfoWeb gewünscht
         if ( touriInfoWeb == '' ) then
            -- Daten von WD, wenn vorhanden
            if ( touriInfoID ~= '' ) then
               local wdTouriInfoWeb = wd.getBestStatement ( touriInfoID, 'P856' )
               if ( wdTouriInfoWeb.errCode == 0 ) then
                  displayTouriInfoError = displayTouriInfoError .. qb.trSingleTD ( 'qb-wd-comment carousel-2', 'keine Webseite auf Wikidata: [[File:View-so edit simple.svg|15px|link=wikidata:' .. touriInfoID .. '|class=noviewer|Webseite nachtragen]]' )
               end
               if ( wdTouriInfoWeb.errCode == 1 ) then
                  displayTouriInfoWeb = wd.getProperty ( wdTouriInfoWeb.statement, 'P856-link+site-WD' )
               end
            end
         else
            -- Daten lokal
            displayTouriInfoWeb = touriInfoWeb
         end
         showTouriInfo = true
      end
   end

   -- Prüfen, ob TouriInfoTel gewollt oder nicht
   if ( qbCheck._isParamUsed ( qbFrame:getParent().args, 'touriinfotel' ) or qbAuto ) then
      local touriInfoTel = getParameter ( qbFrame, cfgParams["qb_ort"], 'touriinfotel' )
   	  if ( yesno ( touriInfoTel, true ) ) then
   	     if ( yesno ( touriInfoTel ) ) then touriInfoTel = '' end
   	     -- Modul LinkPhone einbinden
         local lp = require('Modul:LinkPhone')
         -- TouriInfoTel gewünscht
         if ( touriInfoTel == '' ) then
            -- Daten von WD, wenn vorhanden
            if ( touriInfoID ~= '' ) then
               local wdTouriInfoTel = wd.getBestStatement ( touriInfoID, 'P1329' )
               if ( wdTouriInfoTel.errCode == 0 ) then
                  displayTouriInfoError = displayTouriInfoError .. qb.trSingleTD ( 'qb-wd-comment carousel-2', 'keine Telefonnummer auf Wikidata: [[File:View-so edit simple.svg|15px|link=wikidata:' .. touriInfoID .. '|class=noviewer|Telefonnummer nachtragen]]' )
               end
               if ( wdTouriInfoTel.errCode == 1 ) then
                  displayTouriInfoTel = 
		            '<span class="wikidata-content">' .. 
		            lp.linkPhoneNumberSet( { ['phone'] = wd.getProperty ( wdTouriInfoTel.statement ) } ) .. 
		            '</span>'
               end
            end	
         else
            -- Daten lokal
            displayTouriInfoTel = lp.linkPhoneNumberSet( { ['phone'] = touriInfoTel } )
         end
         showTouriInfo = true
      end
   end

   -- Touriinfo ausgeben
   if ( displayTouriInfoWeb ~= '' and displayTouriInfoTel ~= '' ) then
      display = display .. qb.trItemTH ( 'qb-tourist-info carousel-2', 'Tourist-Info', displayTouriInfoTel .. '<br />' .. displayTouriInfoWeb )
      displayItem = true
   elseif ( displayTouriInfoWeb ~= '' and displayTouriInfoTel == '' ) then
      display = display .. qb.trItemTH ( 'qb-tourist-info-web carousel-2', 'Tourist-Info Web', displayTouriInfoWeb )
      displayItem = true
   elseif ( displayTouriInfoWeb == '' and displayTouriInfoTel ~= '' ) then
      display = display .. qb.trItemTH ( 'qb-tourist-info-tel carousel-2', 'Tourist-Info Tel', displayTouriInfoTel )
      displayItem = true
   end
   
   if showTouriInfoError then
      display = display .. displayTouriInfoError
   end

   -- Lagekarte gewünscht?
   if ( qbCheck._isParamUsed ( templateArgs, 'lagekarte' ) ) then

      local posmap = getParameter ( qbFrame, cfgParams["qb_region"], 'lagekarte' )
      local posmapBasic = posmap
      local posmapWidth = getParameter ( qbFrame, cfgParams["qb_region"], 'breitelagekarte' )
      local imagemap = getParameter ( qbFrame, cfgParams["qb_region"], 'imagemap' )
      local displayImagemap = yesno ( imagemap, true )

      display = display .. qb.theader ( 2, 'Lage', 'carousel-3' )

      local noFileCheck = getParameter ( qbFrame, cfgParams["qb_region"], 'nofilecheck' )
      if ( posmap == '' ) then
         local result = wd.getBestStatement( qbIDText, 'P242' )
         if ( result.errCode == 0 ) then
            display = display .. qb.trSingleTD ( 'qb-wd-comment carousel-3', 'keine Lagekarte auf Wikidata: [[File:View-so edit simple.svg|15px|link=wikidata:' .. qbIDText .. '|class=noviewer|Lagekarte nachtragen]]' )
            errorStr = errorStr .. '[[Kategorie:Artikel ohne Objekt auf Wikidata]]'
         elseif ( result.errCode == 2 ) then
            display = display .. qb.trSingleTD ( 'qb-wd-comment carousel-3', 'kein Objekt auf Wikidata vorhanden.' )
         elseif ( result.errCode == 1 ) then
         	categories = categories .. '[[Kategorie:Seiten, die die Wikidata-Eigenschaft P242 benutzen]]'
            local posmapParameter = { posmapWidth }
            posmap = wd.getProperty ( result.statement, 'Quickbar Region Posmap', nil, nil, posmapParameter )
            posmapBasic = wd.getProperty ( result.statement, 'Quickbar Datei' )
         end
      else
         posmap = '[[' .. posmap .. '|' .. posmapWidth .. '|Lagekarte]]'
      end
      if ( posmap ~= '' ) then
         local fileCheck = qbCheck._testFile ( posmap, 'Quickbar Region' )
         if ( fileCheck == '' ) or ( noFileCheck == 'yes' ) then 
            if ( imagemap ~= '' and displayImagemap ) then
               display = display .. qb.trImage ( 'qb-image qb-posmap qb-imagemap carousel-3', im.createImagemap ( qbFrame, posmapBasic, imagemap, posmapWidth, 'none', ''  ) )
            else
               display = display .. qb.trImage ( 'qb-image qb-posmap carousel-3', posmap )
            end
         else
            errorStr = errorStr .. fileCheck
         end
      end
   end
   
   -- Parameter-dump
   if ( yesno ( getParameter ( qbFrame, cfgParams["qb_region"], 'dumpparameter' ) ) ) then
      display = display .. qb.theader ( 2, 'Parameter' )
      for k,v in pairs ( templateArgs ) do
         display = display .. qb.trItemTH  ( '', k, v )
      end
   end
   
   -- Quickbar beenden
   display = display .. '</table></div>'

   -- Quickbar ausgeben
   return categories .. errorStr .. qbCheck._testParams ( templateArgs, cfgParams["qb_region"], 'Quickbar Region' ) .. display
end

return qbRegion