<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=109.193.234.155</id>
	<title>Wikizone - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=109.193.234.155"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/109.193.234.155"/>
	<updated>2026-05-06T14:46:46Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_InputfieldTime&amp;diff=23357</id>
		<title>ProcessWire - InputfieldTime</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_InputfieldTime&amp;diff=23357"/>
		<updated>2018-10-08T08:56:49Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: Die Seite wurde neu angelegt: „FieldtypeTime &amp;amp; InputfieldTime Modules for ProcessWire that allow easy input of times in various formats. The value is stored in the DB as an SQL timefield wit…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FieldtypeTime &amp;amp; InputfieldTime&lt;br /&gt;
Modules for ProcessWire that allow easy input of times in various formats. The value is stored in the DB as an SQL timefield with values between about +800:00:00 and -800:00:00 but the display and input format can be chosen by the user.&lt;br /&gt;
Custom Inputfield um eine Zeit zu speichern.&lt;br /&gt;
&lt;br /&gt;
http://modules.processwire.com/modules/inputfield-time/&lt;br /&gt;
&lt;br /&gt;
Supported Input/Display formats&lt;br /&gt;
The following input and display formats are supported.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;#039;HH24&amp;#039; Hours (0-24)&lt;br /&gt;
&amp;#039;HH24MM&amp;#039; Hours (0-24) &amp;amp; minutes (00-59)&lt;br /&gt;
&amp;#039;HH24MMSS&amp;#039; Hours (0-24), minutes (00-59) &amp;amp; seconds (00-59)&lt;br /&gt;
&amp;#039;HHH&amp;#039; Hours (Integer 0-800)&lt;br /&gt;
&amp;#039;HHHMM&amp;#039; Hours (0-800) &amp;amp; minutes (00-59)&lt;br /&gt;
&amp;#039;HHHMMSS&amp;#039; Hours (0-800), minutes (00-59) &amp;amp; seconds (00-59)&lt;br /&gt;
&amp;#039;MMM&amp;#039; Minutes (Integer)&lt;br /&gt;
&amp;#039;SSS&amp;#039; Seconds (Integer)&lt;br /&gt;
&amp;#039;MMSS&amp;#039; Minutes (00-59) &amp;amp; seconds (00-59).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The fieldtype will use the chosen format to work out if actual input is incomplete and try to autocomplete the missingparts. For example, if you have a field setup to HH24MM and only type &amp;#039;9&amp;#039; into the Inputfield the fieldtype will assume you mean &amp;#039;09:00&amp;#039; (that is, 9 in the morning) and use that as the final value.&lt;br /&gt;
&lt;br /&gt;
You can configure if colons are to be used between parts in the displayed output. So you can choose between &amp;#039;0900&amp;#039; and&amp;#039;09:00&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Comparison in selectors&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
If you wish to use a formatted time in a selector then you need to have the time in your selector string use the DBformatting of &amp;#039;HH:MM:SS&amp;#039; as the comparison is done by the DB. You can use the date() function directly or you can usethe utility function formattedStringToTime()...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// For a value with Hours and Mins...&lt;br /&gt;
$selector_time_string = date(&amp;#039;H:m:00&amp;#039;, $time); // or...&lt;br /&gt;
$selector_time_string = FieldtypeTime::formattedStringToTime(date(&amp;#039;H:m&amp;#039;, $time), &amp;#039;HH24MM&amp;#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It will often be easier to work with date() directly.&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23356</id>
		<title>Processwire - Leaflet Map Marker Modul</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23356"/>
		<updated>2018-10-08T08:28:48Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Multiple Markers von Kindseiten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Siehe auch ==&lt;br /&gt;
 https://processwire.com/talk/topic/9745-module-leaflet-map/?page=5 (Forum)&lt;br /&gt;
 https://github.com/gmclelland/FieldtypeLeafletMapMarker/blob/PW3/InputfieldLeafletMapMarker.module (Fork)&lt;br /&gt;
 https://leafletjs.com/ (Leaflet Hauptseite)&lt;br /&gt;
 https://leaflet-extras.github.io/leaflet-providers/preview/index.html (Karten Provider)&lt;br /&gt;
 https://github.com/Leaflet/Leaflet.markercluster (Doku für Cluster Modul)&lt;br /&gt;
== Überblick ==&lt;br /&gt;
Wird aus Zeitgründen vom Entwickler nicht sehr aktiv weitergepflegt. Allerdings gibt es ordentlichen Support im Forum und ein paar Forks auf Github.&lt;br /&gt;
&lt;br /&gt;
Man kann für spezielle Anforderungen auch nur das Feld im Backend nutzen und Leaflet im Frontend selbst aufsetzen bzw. eigene Skripte nutzen. Das JavaScript für die Frontendausgabe im Modul findet man in:&lt;br /&gt;
 MarkupLeafletMap.js (JavaScript für Frontend-Ausgabe)&lt;br /&gt;
 MarkupLeafletMap.module (Inline JS für Frontend ) &lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
* Benötigt die Konfiguration von &amp;#039;&amp;#039;&amp;#039;$additionalHeaderData&amp;#039;&amp;#039;&amp;#039;. Das ist einfach ein String der in &amp;#039;&amp;#039;_init.php&amp;#039;&amp;#039; angelegt und im &amp;#039;&amp;#039;Header eingebunden&amp;#039;&amp;#039; wird. Damit lassen sich Zusätzliche Daten per Template rendern. &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Feldname&amp;#039;&amp;#039;&amp;#039; im Backend ist hier &amp;#039;&amp;#039;&amp;#039;map_leaflet&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Achtung Bug (V2.8.1): Immer den Geocoder auf der Seite benutzen. Die Standarddaten aus der Feldkonfiguration werden nicht richtig übernommen (Adressfeld) und es gibt Ausgabefehler.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
$mapMarkup = $map-&amp;gt;render($page, &amp;#039;map_leaflet ,array(&amp;#039;markerColour&amp;#039; =&amp;gt; &amp;#039;green&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;content_bottom&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Button GM --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Lange+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Map --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;col span_12&amp;quot;&amp;gt;&amp;#039;.$mapMarkup.&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Daten manuell auslesen und verarbeiten ==&lt;br /&gt;
Einfaches Beispiel das auch bei AJAX Seiten funktioniert und einen Button zur Google Maps Wegbeschreibung enthält.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// If AJAX put this in _init.php else uncomment next two lines&lt;br /&gt;
// $map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
// $additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
$myAdress = $page-&amp;gt;map_leaflet-&amp;gt;address;	// outputs the address you entered&lt;br /&gt;
$myLat = $page-&amp;gt;map_leaflet-&amp;gt;lat; 		// outputs the latitude&lt;br /&gt;
$myLng = $page-&amp;gt;map_leaflet-&amp;gt;lng; 		// outputs the longitude&lt;br /&gt;
$myZoom = $page-&amp;gt;map_leaflet-&amp;gt;zoom;		// outputs the zoom level&lt;br /&gt;
&lt;br /&gt;
$mapMarkup = &amp;quot;&lt;br /&gt;
&amp;lt;div id=&amp;#039;mleafletmap1&amp;#039;style=&amp;#039;height:400px;&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
var mleafletmap1 = new jsMarkupLeafletMap();&lt;br /&gt;
 mleafletmap1.setOption(&amp;#039;zoom&amp;#039;, $myZoom);&lt;br /&gt;
  mleafletmap1.init(&amp;#039;mleafletmap1&amp;#039;, $myLat, $myLng, &amp;#039;OpenStreetMap.Mapnik&amp;#039;);&lt;br /&gt;
  var default_marker_icon = L.AwesomeMarkers.icon({ icon: &amp;#039;home&amp;#039;, iconColor: &amp;#039;white&amp;#039;, prefix: &amp;#039;fa&amp;#039;, markerColor: &amp;#039;darkblue&amp;#039; });&lt;br /&gt;
  mleafletmap1.addMarkerIcon(default_marker_icon, $myLat, $myLng, &amp;#039;/kontakt/&amp;#039;, &amp;#039;Kontakt&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Meine+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;col-sm-12&amp;quot; style=&amp;quot;height:400px;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
    .$mapMarkup.&amp;#039;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Multiple Markers ===&lt;br /&gt;
Die Render Funktion kann auch mit mehreren Seitenobjekten umgehen und erstellt dann eine Karte mit mehreren Markern.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$items = $pages-&amp;gt;find(&amp;quot;A SELECTOR THAT GETS YOUR PAGES WITH MARKER FIELDS&amp;quot;);&lt;br /&gt;
echo $map-&amp;gt;render($items, &amp;#039;YOUR MARKER FIELD&amp;#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Multiple Markers von selektierten Seiten ===&lt;br /&gt;
Es sollen Orte (LeafletMapMarker) von Unterseiten geholt werden und aus diesen eine Map mit mehreren Markern generiert werden. Viele Marker auf engem Raum werden geclustert.&lt;br /&gt;
&lt;br /&gt;
Voraussetzungen im Beispiel&lt;br /&gt;
* die Kindseiten werden über ihr template selektiert. Im Beispiel wird das durch ein Textfeld im Parent Template festgelegt (Feldname template_title)&lt;br /&gt;
* der Leaflet code wird nur bei Bedarf geladen. Das geschieht über eine Switch Anweisung im Repeater&lt;br /&gt;
* Leaflet Dateien sind lokal hinterlegt (siehe js und css Anweisungen).&lt;br /&gt;
 &lt;br /&gt;
mytemplate.php &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$additionalHeaderData .= &amp;#039;&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$options = array(&amp;#039;markerColour&amp;#039; =&amp;gt; &amp;#039;green&amp;#039;);&lt;br /&gt;
$mySelector = &amp;#039;template=event&amp;#039;;&lt;br /&gt;
$places = $pages-&amp;gt;find($mySelector);&lt;br /&gt;
$mapMarkup = $map-&amp;gt;render($places, &amp;#039;location&amp;#039; ,$options);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Leaflet Skripte lokal einbinden (keine externen Skripte laden) ===&lt;br /&gt;
Dies sind die benötigten Header Zeilen. leaflet.css und leaflet.js sollte dann entsprechend vorhanden sein. Der Rest kommat aus dem Modul Verzeichnis.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Font Awesome muß ebenfalls vorhanden sein (Bisher - September 2018, die 4er Version).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$additionalHeaderData = &amp;#039;&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scroll Zoom abschalten ===&lt;br /&gt;
Am einfachsten im Modul (Nachteil: Vorsicht beim Update)&lt;br /&gt;
&lt;br /&gt;
Evtl. fürs Frontend könnte man auch im Nachhinein in einem eigenen Skript abschalten über die Funktion:&lt;br /&gt;
 map.scrollWheelZoom.disable(); // map ist die Mapinstanz. Muß evtl. angepasst werden.&lt;br /&gt;
&lt;br /&gt;
==== Im Frontend (Fieldtype)====&lt;br /&gt;
In MarkupLeafletMap.js die Option hinzufügen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
this.options = {&lt;br /&gt;
        zoom: 10,&lt;br /&gt;
        center: null,&lt;br /&gt;
        scrollWheelZoom: false, // diese option einfügen&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    this._currentURL = &amp;#039;&amp;#039;;&lt;br /&gt;
    this.init = function(mapID, lat, lng, provider) {&lt;br /&gt;
        if(lat != 0) this.map = L.map(mapID, {&lt;br /&gt;
          center: [lat, lng],&lt;br /&gt;
          zoom: this.options.zoom,&lt;br /&gt;
          scrollWheelZoom: this.options.scrollWheelZoom // und dieses wenn nicht vorhanden&lt;br /&gt;
        } );&lt;br /&gt;
        L.tileLayer.provider(provider).addTo(this.map);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Im Backend ====&lt;br /&gt;
Hier muß mann den Code des Inputfield anpassen. Direkt in den Optionen hat das bei mir nicht funktioniert. Sieht so aus als ob nur der zoom statt alle Optionen gesetzt wird. Daher einfach nach der Instanzerzeugung der karte den ScrollWheelZoom abschalten:&lt;br /&gt;
&lt;br /&gt;
FieldtypeLeafletMapMarker/InputfieldLeafletMapMarker.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var map = L.map(document.getElementById(mapId)). setView([lat, lng], options.zoom); // nach dem hier&lt;br /&gt;
map.scrollWheelZoom.disable(); // dieses einfügen.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;#039;map&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
	var cities = new L.LayerGroup();&lt;br /&gt;
&lt;br /&gt;
	L.marker([39.61, -105.02]).bindPopup(&amp;#039;This is Littleton, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.74, -104.99]).bindPopup(&amp;#039;This is Denver, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.73, -104.8]).bindPopup(&amp;#039;This is Aurora, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.77, -105.23]).bindPopup(&amp;#039;This is Golden, CO.&amp;#039;).addTo(cities);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	var mbAttr = &amp;#039;Map data &amp;amp;copy; &amp;lt;a href=&amp;quot;http://openstreetmap.org&amp;quot;&amp;gt;OpenStreetMap&amp;lt;/a&amp;gt; contributors, &amp;#039; +&lt;br /&gt;
			&amp;#039;&amp;lt;a href=&amp;quot;http://creativecommons.org/licenses/by-sa/2.0/&amp;quot;&amp;gt;CC-BY-SA&amp;lt;/a&amp;gt;, &amp;#039; +&lt;br /&gt;
			&amp;#039;Imagery © &amp;lt;a href=&amp;quot;http://mapbox.com&amp;quot;&amp;gt;Mapbox&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
		mbUrl = &amp;#039;https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	var grayscale   = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.light&amp;#039;, attribution: mbAttr}),&lt;br /&gt;
		streets  = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.streets&amp;#039;,   attribution: mbAttr});&lt;br /&gt;
&lt;br /&gt;
	var map = L.map(&amp;#039;map&amp;#039;, {&lt;br /&gt;
		center: [39.73, -104.99],&lt;br /&gt;
		zoom: 10,&lt;br /&gt;
		layers: [grayscale, cities]&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var baseLayers = {&lt;br /&gt;
		&amp;quot;Grayscale&amp;quot;: grayscale,&lt;br /&gt;
		&amp;quot;Streets&amp;quot;: streets&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var overlays = {&lt;br /&gt;
		&amp;quot;Cities&amp;quot;: cities&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	L.control.layers(baseLayers, overlays).addTo(map);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Probleme beheben ==&lt;br /&gt;
=== Feld zeigt an Error Geocoding ===&lt;br /&gt;
File Cache komplett löschen (assets/cache/...)&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23355</id>
		<title>Processwire - Leaflet Map Marker Modul</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23355"/>
		<updated>2018-10-08T08:12:21Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Multiple Markers Beispiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Siehe auch ==&lt;br /&gt;
 https://processwire.com/talk/topic/9745-module-leaflet-map/?page=5 (Forum)&lt;br /&gt;
 https://github.com/gmclelland/FieldtypeLeafletMapMarker/blob/PW3/InputfieldLeafletMapMarker.module (Fork)&lt;br /&gt;
 https://leafletjs.com/ (Leaflet Hauptseite)&lt;br /&gt;
 https://leaflet-extras.github.io/leaflet-providers/preview/index.html (Karten Provider)&lt;br /&gt;
 https://github.com/Leaflet/Leaflet.markercluster (Doku für Cluster Modul)&lt;br /&gt;
== Überblick ==&lt;br /&gt;
Wird aus Zeitgründen vom Entwickler nicht sehr aktiv weitergepflegt. Allerdings gibt es ordentlichen Support im Forum und ein paar Forks auf Github.&lt;br /&gt;
&lt;br /&gt;
Man kann für spezielle Anforderungen auch nur das Feld im Backend nutzen und Leaflet im Frontend selbst aufsetzen bzw. eigene Skripte nutzen. Das JavaScript für die Frontendausgabe im Modul findet man in:&lt;br /&gt;
 MarkupLeafletMap.js (JavaScript für Frontend-Ausgabe)&lt;br /&gt;
 MarkupLeafletMap.module (Inline JS für Frontend ) &lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
* Benötigt die Konfiguration von &amp;#039;&amp;#039;&amp;#039;$additionalHeaderData&amp;#039;&amp;#039;&amp;#039;. Das ist einfach ein String der in &amp;#039;&amp;#039;_init.php&amp;#039;&amp;#039; angelegt und im &amp;#039;&amp;#039;Header eingebunden&amp;#039;&amp;#039; wird. Damit lassen sich Zusätzliche Daten per Template rendern. &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Feldname&amp;#039;&amp;#039;&amp;#039; im Backend ist hier &amp;#039;&amp;#039;&amp;#039;map_leaflet&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Achtung Bug (V2.8.1): Immer den Geocoder auf der Seite benutzen. Die Standarddaten aus der Feldkonfiguration werden nicht richtig übernommen (Adressfeld) und es gibt Ausgabefehler.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
$mapMarkup = $map-&amp;gt;render($page, &amp;#039;map_leaflet ,array(&amp;#039;markerColour&amp;#039; =&amp;gt; &amp;#039;green&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;content_bottom&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Button GM --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Lange+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Map --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;col span_12&amp;quot;&amp;gt;&amp;#039;.$mapMarkup.&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Daten manuell auslesen und verarbeiten ==&lt;br /&gt;
Einfaches Beispiel das auch bei AJAX Seiten funktioniert und einen Button zur Google Maps Wegbeschreibung enthält.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// If AJAX put this in _init.php else uncomment next two lines&lt;br /&gt;
// $map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
// $additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
$myAdress = $page-&amp;gt;map_leaflet-&amp;gt;address;	// outputs the address you entered&lt;br /&gt;
$myLat = $page-&amp;gt;map_leaflet-&amp;gt;lat; 		// outputs the latitude&lt;br /&gt;
$myLng = $page-&amp;gt;map_leaflet-&amp;gt;lng; 		// outputs the longitude&lt;br /&gt;
$myZoom = $page-&amp;gt;map_leaflet-&amp;gt;zoom;		// outputs the zoom level&lt;br /&gt;
&lt;br /&gt;
$mapMarkup = &amp;quot;&lt;br /&gt;
&amp;lt;div id=&amp;#039;mleafletmap1&amp;#039;style=&amp;#039;height:400px;&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
var mleafletmap1 = new jsMarkupLeafletMap();&lt;br /&gt;
 mleafletmap1.setOption(&amp;#039;zoom&amp;#039;, $myZoom);&lt;br /&gt;
  mleafletmap1.init(&amp;#039;mleafletmap1&amp;#039;, $myLat, $myLng, &amp;#039;OpenStreetMap.Mapnik&amp;#039;);&lt;br /&gt;
  var default_marker_icon = L.AwesomeMarkers.icon({ icon: &amp;#039;home&amp;#039;, iconColor: &amp;#039;white&amp;#039;, prefix: &amp;#039;fa&amp;#039;, markerColor: &amp;#039;darkblue&amp;#039; });&lt;br /&gt;
  mleafletmap1.addMarkerIcon(default_marker_icon, $myLat, $myLng, &amp;#039;/kontakt/&amp;#039;, &amp;#039;Kontakt&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Meine+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;col-sm-12&amp;quot; style=&amp;quot;height:400px;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
    .$mapMarkup.&amp;#039;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Multiple Markers ===&lt;br /&gt;
Die Render Funktion kann auch mit mehreren Seitenobjekten umgehen und erstellt dann eine Karte mit mehreren Markern.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$items = $pages-&amp;gt;find(&amp;quot;A SELECTOR THAT GETS YOUR PAGES WITH MARKER FIELDS&amp;quot;);&lt;br /&gt;
echo $map-&amp;gt;render($items, &amp;#039;YOUR MARKER FIELD&amp;#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Multiple Markers von Kindseiten ===&lt;br /&gt;
Es sollen Orte (LeafletMapMarker) von Unterseiten geholt werden und aus diesen eine Map mit mehreren Markern generiert werden. Viele Marker auf engem Raum werden geclustert.&lt;br /&gt;
&lt;br /&gt;
Voraussetzungen im Beispiel&lt;br /&gt;
* die Kindseiten werden über ihr template selektiert. Im Beispiel wird das durch ein Textfeld im Parent Template festgelegt (Feldname template_title)&lt;br /&gt;
* der Leaflet code wird nur bei Bedarf geladen. Das geschieht über eine Switch Anweisung im Repeater&lt;br /&gt;
* Leaflet Dateien sind lokal hinterlegt (siehe js und css Anweisungen).&lt;br /&gt;
 &lt;br /&gt;
layout_blocks.php (Partial für layout Blocks)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
switch ($item-&amp;gt;type) {&lt;br /&gt;
case &amp;#039;map_leaflet&amp;#039;:&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData .= &amp;#039;&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
// Dont&amp;#039;t forget to include font awesome if not present&lt;br /&gt;
$item-&amp;gt;myMap = $map;&lt;br /&gt;
$out .= $item-&amp;gt;render();&lt;br /&gt;
break;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
repeaterMatrixField map_leaflet.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
//...&lt;br /&gt;
// map&lt;br /&gt;
&lt;br /&gt;
$options = array(&lt;br /&gt;
	&amp;quot;width&amp;quot; =&amp;gt; &amp;quot;100%&amp;quot;,&lt;br /&gt;
	&amp;quot;height&amp;quot; =&amp;gt; &amp;quot;540px&amp;quot;,&lt;br /&gt;
	&amp;quot;markerLinkField&amp;quot; =&amp;gt; &amp;quot;link&amp;quot;,&lt;br /&gt;
	&amp;quot;markerTitleField&amp;quot; =&amp;gt; &amp;quot;title&amp;quot;,&lt;br /&gt;
	&amp;#039;popupFormatter&amp;#039; =&amp;gt; function($page) {&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;h4&amp;gt;$page-&amp;gt;title&amp;lt;/h4&amp;gt;&amp;quot;;&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;p&amp;gt;$page-&amp;gt;text&amp;lt;/p&amp;gt;&amp;quot;; // ** NB: Use escaped double quotes if HTML attributes needed **&lt;br /&gt;
			if($page-&amp;gt;link != &amp;quot;#&amp;quot;) $out[] = &amp;quot;&amp;lt;p&amp;gt;&amp;lt;a href=\&amp;quot;{$page-&amp;gt;link}\&amp;quot;&amp;gt;{$page-&amp;gt;link}&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
			return implode(&amp;#039; &amp;#039;, $out);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
);&lt;br /&gt;
if( !empty($page-&amp;gt;template_title) ){&lt;br /&gt;
	$mySelector = &amp;#039;template=&amp;#039;.$page-&amp;gt;template_title;&lt;br /&gt;
	$places = $pages-&amp;gt;find($mySelector);&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($places, &amp;#039;location&amp;#039;,$options);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
else{&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($page,&amp;#039;location&amp;#039;,$options);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Leaflet Skripte lokal einbinden (keine externen Skripte laden) ===&lt;br /&gt;
Dies sind die benötigten Header Zeilen. leaflet.css und leaflet.js sollte dann entsprechend vorhanden sein. Der Rest kommat aus dem Modul Verzeichnis.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Font Awesome muß ebenfalls vorhanden sein (Bisher - September 2018, die 4er Version).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$additionalHeaderData = &amp;#039;&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scroll Zoom abschalten ===&lt;br /&gt;
Am einfachsten im Modul (Nachteil: Vorsicht beim Update)&lt;br /&gt;
&lt;br /&gt;
Evtl. fürs Frontend könnte man auch im Nachhinein in einem eigenen Skript abschalten über die Funktion:&lt;br /&gt;
 map.scrollWheelZoom.disable(); // map ist die Mapinstanz. Muß evtl. angepasst werden.&lt;br /&gt;
&lt;br /&gt;
==== Im Frontend (Fieldtype)====&lt;br /&gt;
In MarkupLeafletMap.js die Option hinzufügen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
this.options = {&lt;br /&gt;
        zoom: 10,&lt;br /&gt;
        center: null,&lt;br /&gt;
        scrollWheelZoom: false, // diese option einfügen&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    this._currentURL = &amp;#039;&amp;#039;;&lt;br /&gt;
    this.init = function(mapID, lat, lng, provider) {&lt;br /&gt;
        if(lat != 0) this.map = L.map(mapID, {&lt;br /&gt;
          center: [lat, lng],&lt;br /&gt;
          zoom: this.options.zoom,&lt;br /&gt;
          scrollWheelZoom: this.options.scrollWheelZoom // und dieses wenn nicht vorhanden&lt;br /&gt;
        } );&lt;br /&gt;
        L.tileLayer.provider(provider).addTo(this.map);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Im Backend ====&lt;br /&gt;
Hier muß mann den Code des Inputfield anpassen. Direkt in den Optionen hat das bei mir nicht funktioniert. Sieht so aus als ob nur der zoom statt alle Optionen gesetzt wird. Daher einfach nach der Instanzerzeugung der karte den ScrollWheelZoom abschalten:&lt;br /&gt;
&lt;br /&gt;
FieldtypeLeafletMapMarker/InputfieldLeafletMapMarker.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var map = L.map(document.getElementById(mapId)). setView([lat, lng], options.zoom); // nach dem hier&lt;br /&gt;
map.scrollWheelZoom.disable(); // dieses einfügen.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;#039;map&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
	var cities = new L.LayerGroup();&lt;br /&gt;
&lt;br /&gt;
	L.marker([39.61, -105.02]).bindPopup(&amp;#039;This is Littleton, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.74, -104.99]).bindPopup(&amp;#039;This is Denver, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.73, -104.8]).bindPopup(&amp;#039;This is Aurora, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.77, -105.23]).bindPopup(&amp;#039;This is Golden, CO.&amp;#039;).addTo(cities);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	var mbAttr = &amp;#039;Map data &amp;amp;copy; &amp;lt;a href=&amp;quot;http://openstreetmap.org&amp;quot;&amp;gt;OpenStreetMap&amp;lt;/a&amp;gt; contributors, &amp;#039; +&lt;br /&gt;
			&amp;#039;&amp;lt;a href=&amp;quot;http://creativecommons.org/licenses/by-sa/2.0/&amp;quot;&amp;gt;CC-BY-SA&amp;lt;/a&amp;gt;, &amp;#039; +&lt;br /&gt;
			&amp;#039;Imagery © &amp;lt;a href=&amp;quot;http://mapbox.com&amp;quot;&amp;gt;Mapbox&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
		mbUrl = &amp;#039;https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	var grayscale   = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.light&amp;#039;, attribution: mbAttr}),&lt;br /&gt;
		streets  = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.streets&amp;#039;,   attribution: mbAttr});&lt;br /&gt;
&lt;br /&gt;
	var map = L.map(&amp;#039;map&amp;#039;, {&lt;br /&gt;
		center: [39.73, -104.99],&lt;br /&gt;
		zoom: 10,&lt;br /&gt;
		layers: [grayscale, cities]&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var baseLayers = {&lt;br /&gt;
		&amp;quot;Grayscale&amp;quot;: grayscale,&lt;br /&gt;
		&amp;quot;Streets&amp;quot;: streets&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var overlays = {&lt;br /&gt;
		&amp;quot;Cities&amp;quot;: cities&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	L.control.layers(baseLayers, overlays).addTo(map);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Probleme beheben ==&lt;br /&gt;
=== Feld zeigt an Error Geocoding ===&lt;br /&gt;
File Cache komplett löschen (assets/cache/...)&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23354</id>
		<title>Processwire - Leaflet Map Marker Modul</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23354"/>
		<updated>2018-10-08T06:32:13Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Scroll Zoom abschalten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Siehe auch ==&lt;br /&gt;
 https://processwire.com/talk/topic/9745-module-leaflet-map/?page=5 (Forum)&lt;br /&gt;
 https://github.com/gmclelland/FieldtypeLeafletMapMarker/blob/PW3/InputfieldLeafletMapMarker.module (Fork)&lt;br /&gt;
 https://leafletjs.com/ (Leaflet Hauptseite)&lt;br /&gt;
 https://leaflet-extras.github.io/leaflet-providers/preview/index.html (Karten Provider)&lt;br /&gt;
 https://github.com/Leaflet/Leaflet.markercluster (Doku für Cluster Modul)&lt;br /&gt;
== Überblick ==&lt;br /&gt;
Wird aus Zeitgründen vom Entwickler nicht sehr aktiv weitergepflegt. Allerdings gibt es ordentlichen Support im Forum und ein paar Forks auf Github.&lt;br /&gt;
&lt;br /&gt;
Man kann für spezielle Anforderungen auch nur das Feld im Backend nutzen und Leaflet im Frontend selbst aufsetzen bzw. eigene Skripte nutzen. Das JavaScript für die Frontendausgabe im Modul findet man in:&lt;br /&gt;
 MarkupLeafletMap.js (JavaScript für Frontend-Ausgabe)&lt;br /&gt;
 MarkupLeafletMap.module (Inline JS für Frontend ) &lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
* Benötigt die Konfiguration von &amp;#039;&amp;#039;&amp;#039;$additionalHeaderData&amp;#039;&amp;#039;&amp;#039;. Das ist einfach ein String der in &amp;#039;&amp;#039;_init.php&amp;#039;&amp;#039; angelegt und im &amp;#039;&amp;#039;Header eingebunden&amp;#039;&amp;#039; wird. Damit lassen sich Zusätzliche Daten per Template rendern. &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Feldname&amp;#039;&amp;#039;&amp;#039; im Backend ist hier &amp;#039;&amp;#039;&amp;#039;map_leaflet&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Achtung Bug (V2.8.1): Immer den Geocoder auf der Seite benutzen. Die Standarddaten aus der Feldkonfiguration werden nicht richtig übernommen (Adressfeld) und es gibt Ausgabefehler.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
$mapMarkup = $map-&amp;gt;render($page, &amp;#039;map_leaflet ,array(&amp;#039;markerColour&amp;#039; =&amp;gt; &amp;#039;green&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;content_bottom&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Button GM --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Lange+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Map --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;col span_12&amp;quot;&amp;gt;&amp;#039;.$mapMarkup.&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Daten manuell auslesen und verarbeiten ==&lt;br /&gt;
Einfaches Beispiel das auch bei AJAX Seiten funktioniert und einen Button zur Google Maps Wegbeschreibung enthält.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// If AJAX put this in _init.php else uncomment next two lines&lt;br /&gt;
// $map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
// $additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
$myAdress = $page-&amp;gt;map_leaflet-&amp;gt;address;	// outputs the address you entered&lt;br /&gt;
$myLat = $page-&amp;gt;map_leaflet-&amp;gt;lat; 		// outputs the latitude&lt;br /&gt;
$myLng = $page-&amp;gt;map_leaflet-&amp;gt;lng; 		// outputs the longitude&lt;br /&gt;
$myZoom = $page-&amp;gt;map_leaflet-&amp;gt;zoom;		// outputs the zoom level&lt;br /&gt;
&lt;br /&gt;
$mapMarkup = &amp;quot;&lt;br /&gt;
&amp;lt;div id=&amp;#039;mleafletmap1&amp;#039;style=&amp;#039;height:400px;&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
var mleafletmap1 = new jsMarkupLeafletMap();&lt;br /&gt;
 mleafletmap1.setOption(&amp;#039;zoom&amp;#039;, $myZoom);&lt;br /&gt;
  mleafletmap1.init(&amp;#039;mleafletmap1&amp;#039;, $myLat, $myLng, &amp;#039;OpenStreetMap.Mapnik&amp;#039;);&lt;br /&gt;
  var default_marker_icon = L.AwesomeMarkers.icon({ icon: &amp;#039;home&amp;#039;, iconColor: &amp;#039;white&amp;#039;, prefix: &amp;#039;fa&amp;#039;, markerColor: &amp;#039;darkblue&amp;#039; });&lt;br /&gt;
  mleafletmap1.addMarkerIcon(default_marker_icon, $myLat, $myLng, &amp;#039;/kontakt/&amp;#039;, &amp;#039;Kontakt&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Meine+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;col-sm-12&amp;quot; style=&amp;quot;height:400px;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
    .$mapMarkup.&amp;#039;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Multiple Markers Beispiel ===&lt;br /&gt;
Es sollen Orte (LeafletMapMarker) von Unterseiten geholt werden und aus diesen eine Map mit mehreren Markern generiert werden. Viele Marker auf engem Raum werden geclustert.&lt;br /&gt;
&lt;br /&gt;
Voraussetzungen im Beispiel&lt;br /&gt;
* die Kindseiten werden über ihr template selektiert. Im Beispiel wird das durch ein Textfeld im Parent Template festgelegt (Feldname template_title)&lt;br /&gt;
* der Leaflet code wird nur bei Bedarf geladen. Das geschieht über eine Switch Anweisung im Repeater&lt;br /&gt;
* Leaflet Dateien sind lokal hinterlegt (siehe js und css Anweisungen).&lt;br /&gt;
 &lt;br /&gt;
layout_blocks.php (Partial für layout Blocks)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
switch ($item-&amp;gt;type) {&lt;br /&gt;
case &amp;#039;map_leaflet&amp;#039;:&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData .= &amp;#039;&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
// Dont&amp;#039;t forget to include font awesome if not present&lt;br /&gt;
$item-&amp;gt;myMap = $map;&lt;br /&gt;
$out .= $item-&amp;gt;render();&lt;br /&gt;
break;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
repeaterMatrixField map_leaflet.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
//...&lt;br /&gt;
// map&lt;br /&gt;
&lt;br /&gt;
$options = array(&lt;br /&gt;
	&amp;quot;width&amp;quot; =&amp;gt; &amp;quot;100%&amp;quot;,&lt;br /&gt;
	&amp;quot;height&amp;quot; =&amp;gt; &amp;quot;540px&amp;quot;,&lt;br /&gt;
	&amp;quot;markerLinkField&amp;quot; =&amp;gt; &amp;quot;link&amp;quot;,&lt;br /&gt;
	&amp;quot;markerTitleField&amp;quot; =&amp;gt; &amp;quot;title&amp;quot;,&lt;br /&gt;
	&amp;#039;popupFormatter&amp;#039; =&amp;gt; function($page) {&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;h4&amp;gt;$page-&amp;gt;title&amp;lt;/h4&amp;gt;&amp;quot;;&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;p&amp;gt;$page-&amp;gt;text&amp;lt;/p&amp;gt;&amp;quot;; // ** NB: Use escaped double quotes if HTML attributes needed **&lt;br /&gt;
			if($page-&amp;gt;link != &amp;quot;#&amp;quot;) $out[] = &amp;quot;&amp;lt;p&amp;gt;&amp;lt;a href=\&amp;quot;{$page-&amp;gt;link}\&amp;quot;&amp;gt;{$page-&amp;gt;link}&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
			return implode(&amp;#039; &amp;#039;, $out);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
);&lt;br /&gt;
if( !empty($page-&amp;gt;template_title) ){&lt;br /&gt;
	$mySelector = &amp;#039;template=&amp;#039;.$page-&amp;gt;template_title;&lt;br /&gt;
	$places = $pages-&amp;gt;find($mySelector);&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($places, &amp;#039;location&amp;#039;,$options);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
else{&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($page,&amp;#039;location&amp;#039;,$options);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Leaflet Skripte lokal einbinden (keine externen Skripte laden) ===&lt;br /&gt;
Dies sind die benötigten Header Zeilen. leaflet.css und leaflet.js sollte dann entsprechend vorhanden sein. Der Rest kommat aus dem Modul Verzeichnis.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Font Awesome muß ebenfalls vorhanden sein (Bisher - September 2018, die 4er Version).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$additionalHeaderData = &amp;#039;&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scroll Zoom abschalten ===&lt;br /&gt;
Am einfachsten im Modul (Nachteil: Vorsicht beim Update)&lt;br /&gt;
&lt;br /&gt;
Evtl. fürs Frontend könnte man auch im Nachhinein in einem eigenen Skript abschalten über die Funktion:&lt;br /&gt;
 map.scrollWheelZoom.disable(); // map ist die Mapinstanz. Muß evtl. angepasst werden.&lt;br /&gt;
&lt;br /&gt;
==== Im Frontend (Fieldtype)====&lt;br /&gt;
In MarkupLeafletMap.js die Option hinzufügen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
this.options = {&lt;br /&gt;
        zoom: 10,&lt;br /&gt;
        center: null,&lt;br /&gt;
        scrollWheelZoom: false, // diese option einfügen&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    this._currentURL = &amp;#039;&amp;#039;;&lt;br /&gt;
    this.init = function(mapID, lat, lng, provider) {&lt;br /&gt;
        if(lat != 0) this.map = L.map(mapID, {&lt;br /&gt;
          center: [lat, lng],&lt;br /&gt;
          zoom: this.options.zoom,&lt;br /&gt;
          scrollWheelZoom: this.options.scrollWheelZoom // und dieses wenn nicht vorhanden&lt;br /&gt;
        } );&lt;br /&gt;
        L.tileLayer.provider(provider).addTo(this.map);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Im Backend ====&lt;br /&gt;
Hier muß mann den Code des Inputfield anpassen. Direkt in den Optionen hat das bei mir nicht funktioniert. Sieht so aus als ob nur der zoom statt alle Optionen gesetzt wird. Daher einfach nach der Instanzerzeugung der karte den ScrollWheelZoom abschalten:&lt;br /&gt;
&lt;br /&gt;
FieldtypeLeafletMapMarker/InputfieldLeafletMapMarker.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var map = L.map(document.getElementById(mapId)). setView([lat, lng], options.zoom); // nach dem hier&lt;br /&gt;
map.scrollWheelZoom.disable(); // dieses einfügen.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;#039;map&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
	var cities = new L.LayerGroup();&lt;br /&gt;
&lt;br /&gt;
	L.marker([39.61, -105.02]).bindPopup(&amp;#039;This is Littleton, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.74, -104.99]).bindPopup(&amp;#039;This is Denver, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.73, -104.8]).bindPopup(&amp;#039;This is Aurora, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.77, -105.23]).bindPopup(&amp;#039;This is Golden, CO.&amp;#039;).addTo(cities);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	var mbAttr = &amp;#039;Map data &amp;amp;copy; &amp;lt;a href=&amp;quot;http://openstreetmap.org&amp;quot;&amp;gt;OpenStreetMap&amp;lt;/a&amp;gt; contributors, &amp;#039; +&lt;br /&gt;
			&amp;#039;&amp;lt;a href=&amp;quot;http://creativecommons.org/licenses/by-sa/2.0/&amp;quot;&amp;gt;CC-BY-SA&amp;lt;/a&amp;gt;, &amp;#039; +&lt;br /&gt;
			&amp;#039;Imagery © &amp;lt;a href=&amp;quot;http://mapbox.com&amp;quot;&amp;gt;Mapbox&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
		mbUrl = &amp;#039;https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	var grayscale   = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.light&amp;#039;, attribution: mbAttr}),&lt;br /&gt;
		streets  = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.streets&amp;#039;,   attribution: mbAttr});&lt;br /&gt;
&lt;br /&gt;
	var map = L.map(&amp;#039;map&amp;#039;, {&lt;br /&gt;
		center: [39.73, -104.99],&lt;br /&gt;
		zoom: 10,&lt;br /&gt;
		layers: [grayscale, cities]&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var baseLayers = {&lt;br /&gt;
		&amp;quot;Grayscale&amp;quot;: grayscale,&lt;br /&gt;
		&amp;quot;Streets&amp;quot;: streets&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var overlays = {&lt;br /&gt;
		&amp;quot;Cities&amp;quot;: cities&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	L.control.layers(baseLayers, overlays).addTo(map);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Probleme beheben ==&lt;br /&gt;
=== Feld zeigt an Error Geocoding ===&lt;br /&gt;
File Cache komplett löschen (assets/cache/...)&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23353</id>
		<title>Processwire - Leaflet Map Marker Modul</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23353"/>
		<updated>2018-10-08T06:29:34Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Scroll Zoom abschalten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Siehe auch ==&lt;br /&gt;
 https://processwire.com/talk/topic/9745-module-leaflet-map/?page=5 (Forum)&lt;br /&gt;
 https://github.com/gmclelland/FieldtypeLeafletMapMarker/blob/PW3/InputfieldLeafletMapMarker.module (Fork)&lt;br /&gt;
 https://leafletjs.com/ (Leaflet Hauptseite)&lt;br /&gt;
 https://leaflet-extras.github.io/leaflet-providers/preview/index.html (Karten Provider)&lt;br /&gt;
 https://github.com/Leaflet/Leaflet.markercluster (Doku für Cluster Modul)&lt;br /&gt;
== Überblick ==&lt;br /&gt;
Wird aus Zeitgründen vom Entwickler nicht sehr aktiv weitergepflegt. Allerdings gibt es ordentlichen Support im Forum und ein paar Forks auf Github.&lt;br /&gt;
&lt;br /&gt;
Man kann für spezielle Anforderungen auch nur das Feld im Backend nutzen und Leaflet im Frontend selbst aufsetzen bzw. eigene Skripte nutzen. Das JavaScript für die Frontendausgabe im Modul findet man in:&lt;br /&gt;
 MarkupLeafletMap.js (JavaScript für Frontend-Ausgabe)&lt;br /&gt;
 MarkupLeafletMap.module (Inline JS für Frontend ) &lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
* Benötigt die Konfiguration von &amp;#039;&amp;#039;&amp;#039;$additionalHeaderData&amp;#039;&amp;#039;&amp;#039;. Das ist einfach ein String der in &amp;#039;&amp;#039;_init.php&amp;#039;&amp;#039; angelegt und im &amp;#039;&amp;#039;Header eingebunden&amp;#039;&amp;#039; wird. Damit lassen sich Zusätzliche Daten per Template rendern. &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Feldname&amp;#039;&amp;#039;&amp;#039; im Backend ist hier &amp;#039;&amp;#039;&amp;#039;map_leaflet&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Achtung Bug (V2.8.1): Immer den Geocoder auf der Seite benutzen. Die Standarddaten aus der Feldkonfiguration werden nicht richtig übernommen (Adressfeld) und es gibt Ausgabefehler.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
$mapMarkup = $map-&amp;gt;render($page, &amp;#039;map_leaflet ,array(&amp;#039;markerColour&amp;#039; =&amp;gt; &amp;#039;green&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;content_bottom&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Button GM --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Lange+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Map --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;col span_12&amp;quot;&amp;gt;&amp;#039;.$mapMarkup.&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Daten manuell auslesen und verarbeiten ==&lt;br /&gt;
Einfaches Beispiel das auch bei AJAX Seiten funktioniert und einen Button zur Google Maps Wegbeschreibung enthält.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// If AJAX put this in _init.php else uncomment next two lines&lt;br /&gt;
// $map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
// $additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
$myAdress = $page-&amp;gt;map_leaflet-&amp;gt;address;	// outputs the address you entered&lt;br /&gt;
$myLat = $page-&amp;gt;map_leaflet-&amp;gt;lat; 		// outputs the latitude&lt;br /&gt;
$myLng = $page-&amp;gt;map_leaflet-&amp;gt;lng; 		// outputs the longitude&lt;br /&gt;
$myZoom = $page-&amp;gt;map_leaflet-&amp;gt;zoom;		// outputs the zoom level&lt;br /&gt;
&lt;br /&gt;
$mapMarkup = &amp;quot;&lt;br /&gt;
&amp;lt;div id=&amp;#039;mleafletmap1&amp;#039;style=&amp;#039;height:400px;&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
var mleafletmap1 = new jsMarkupLeafletMap();&lt;br /&gt;
 mleafletmap1.setOption(&amp;#039;zoom&amp;#039;, $myZoom);&lt;br /&gt;
  mleafletmap1.init(&amp;#039;mleafletmap1&amp;#039;, $myLat, $myLng, &amp;#039;OpenStreetMap.Mapnik&amp;#039;);&lt;br /&gt;
  var default_marker_icon = L.AwesomeMarkers.icon({ icon: &amp;#039;home&amp;#039;, iconColor: &amp;#039;white&amp;#039;, prefix: &amp;#039;fa&amp;#039;, markerColor: &amp;#039;darkblue&amp;#039; });&lt;br /&gt;
  mleafletmap1.addMarkerIcon(default_marker_icon, $myLat, $myLng, &amp;#039;/kontakt/&amp;#039;, &amp;#039;Kontakt&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Meine+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;col-sm-12&amp;quot; style=&amp;quot;height:400px;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
    .$mapMarkup.&amp;#039;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Multiple Markers Beispiel ===&lt;br /&gt;
Es sollen Orte (LeafletMapMarker) von Unterseiten geholt werden und aus diesen eine Map mit mehreren Markern generiert werden. Viele Marker auf engem Raum werden geclustert.&lt;br /&gt;
&lt;br /&gt;
Voraussetzungen im Beispiel&lt;br /&gt;
* die Kindseiten werden über ihr template selektiert. Im Beispiel wird das durch ein Textfeld im Parent Template festgelegt (Feldname template_title)&lt;br /&gt;
* der Leaflet code wird nur bei Bedarf geladen. Das geschieht über eine Switch Anweisung im Repeater&lt;br /&gt;
* Leaflet Dateien sind lokal hinterlegt (siehe js und css Anweisungen).&lt;br /&gt;
 &lt;br /&gt;
layout_blocks.php (Partial für layout Blocks)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
switch ($item-&amp;gt;type) {&lt;br /&gt;
case &amp;#039;map_leaflet&amp;#039;:&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData .= &amp;#039;&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
// Dont&amp;#039;t forget to include font awesome if not present&lt;br /&gt;
$item-&amp;gt;myMap = $map;&lt;br /&gt;
$out .= $item-&amp;gt;render();&lt;br /&gt;
break;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
repeaterMatrixField map_leaflet.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
//...&lt;br /&gt;
// map&lt;br /&gt;
&lt;br /&gt;
$options = array(&lt;br /&gt;
	&amp;quot;width&amp;quot; =&amp;gt; &amp;quot;100%&amp;quot;,&lt;br /&gt;
	&amp;quot;height&amp;quot; =&amp;gt; &amp;quot;540px&amp;quot;,&lt;br /&gt;
	&amp;quot;markerLinkField&amp;quot; =&amp;gt; &amp;quot;link&amp;quot;,&lt;br /&gt;
	&amp;quot;markerTitleField&amp;quot; =&amp;gt; &amp;quot;title&amp;quot;,&lt;br /&gt;
	&amp;#039;popupFormatter&amp;#039; =&amp;gt; function($page) {&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;h4&amp;gt;$page-&amp;gt;title&amp;lt;/h4&amp;gt;&amp;quot;;&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;p&amp;gt;$page-&amp;gt;text&amp;lt;/p&amp;gt;&amp;quot;; // ** NB: Use escaped double quotes if HTML attributes needed **&lt;br /&gt;
			if($page-&amp;gt;link != &amp;quot;#&amp;quot;) $out[] = &amp;quot;&amp;lt;p&amp;gt;&amp;lt;a href=\&amp;quot;{$page-&amp;gt;link}\&amp;quot;&amp;gt;{$page-&amp;gt;link}&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
			return implode(&amp;#039; &amp;#039;, $out);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
);&lt;br /&gt;
if( !empty($page-&amp;gt;template_title) ){&lt;br /&gt;
	$mySelector = &amp;#039;template=&amp;#039;.$page-&amp;gt;template_title;&lt;br /&gt;
	$places = $pages-&amp;gt;find($mySelector);&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($places, &amp;#039;location&amp;#039;,$options);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
else{&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($page,&amp;#039;location&amp;#039;,$options);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Leaflet Skripte lokal einbinden (keine externen Skripte laden) ===&lt;br /&gt;
Dies sind die benötigten Header Zeilen. leaflet.css und leaflet.js sollte dann entsprechend vorhanden sein. Der Rest kommat aus dem Modul Verzeichnis.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Font Awesome muß ebenfalls vorhanden sein (Bisher - September 2018, die 4er Version).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$additionalHeaderData = &amp;#039;&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scroll Zoom abschalten ===&lt;br /&gt;
==== Im Frontend (Fieldtype)====&lt;br /&gt;
In MarkupLeafletMap.js die Option hinzufügen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
this.options = {&lt;br /&gt;
        zoom: 10,&lt;br /&gt;
        center: null,&lt;br /&gt;
        scrollWheelZoom: false, // diese option einfügen&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    this._currentURL = &amp;#039;&amp;#039;;&lt;br /&gt;
    this.init = function(mapID, lat, lng, provider) {&lt;br /&gt;
        if(lat != 0) this.map = L.map(mapID, {&lt;br /&gt;
          center: [lat, lng],&lt;br /&gt;
          zoom: this.options.zoom,&lt;br /&gt;
          scrollWheelZoom: this.options.scrollWheelZoom&lt;br /&gt;
        } );&lt;br /&gt;
        L.tileLayer.provider(provider).addTo(this.map);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== Im Backend ====&lt;br /&gt;
Hier muß mann den Code des Inputfield anpassen. Direkt in den Optionen hat das bei mir nicht funktioniert. Sieht so aus als ob nur der zoom statt alle Optionen gesetzt wird. Daher einfach nach der Instanzerzeugung der karte den ScrollWheelZoom abschalten:&lt;br /&gt;
&lt;br /&gt;
FieldtypeLeafletMapMarker/InputfieldLeafletMapMarker.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var map = L.map(document.getElementById(mapId)). setView([lat, lng], options.zoom); // nach dem hier&lt;br /&gt;
map.scrollWheelZoom.disable(); // dieses einfügen.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;#039;map&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
	var cities = new L.LayerGroup();&lt;br /&gt;
&lt;br /&gt;
	L.marker([39.61, -105.02]).bindPopup(&amp;#039;This is Littleton, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.74, -104.99]).bindPopup(&amp;#039;This is Denver, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.73, -104.8]).bindPopup(&amp;#039;This is Aurora, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.77, -105.23]).bindPopup(&amp;#039;This is Golden, CO.&amp;#039;).addTo(cities);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	var mbAttr = &amp;#039;Map data &amp;amp;copy; &amp;lt;a href=&amp;quot;http://openstreetmap.org&amp;quot;&amp;gt;OpenStreetMap&amp;lt;/a&amp;gt; contributors, &amp;#039; +&lt;br /&gt;
			&amp;#039;&amp;lt;a href=&amp;quot;http://creativecommons.org/licenses/by-sa/2.0/&amp;quot;&amp;gt;CC-BY-SA&amp;lt;/a&amp;gt;, &amp;#039; +&lt;br /&gt;
			&amp;#039;Imagery © &amp;lt;a href=&amp;quot;http://mapbox.com&amp;quot;&amp;gt;Mapbox&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
		mbUrl = &amp;#039;https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	var grayscale   = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.light&amp;#039;, attribution: mbAttr}),&lt;br /&gt;
		streets  = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.streets&amp;#039;,   attribution: mbAttr});&lt;br /&gt;
&lt;br /&gt;
	var map = L.map(&amp;#039;map&amp;#039;, {&lt;br /&gt;
		center: [39.73, -104.99],&lt;br /&gt;
		zoom: 10,&lt;br /&gt;
		layers: [grayscale, cities]&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var baseLayers = {&lt;br /&gt;
		&amp;quot;Grayscale&amp;quot;: grayscale,&lt;br /&gt;
		&amp;quot;Streets&amp;quot;: streets&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var overlays = {&lt;br /&gt;
		&amp;quot;Cities&amp;quot;: cities&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	L.control.layers(baseLayers, overlays).addTo(map);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Probleme beheben ==&lt;br /&gt;
=== Feld zeigt an Error Geocoding ===&lt;br /&gt;
File Cache komplett löschen (assets/cache/...)&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23352</id>
		<title>Processwire - Leaflet Map Marker Modul</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23352"/>
		<updated>2018-10-08T06:28:33Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Scroll Zoom abschalten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Siehe auch ==&lt;br /&gt;
 https://processwire.com/talk/topic/9745-module-leaflet-map/?page=5 (Forum)&lt;br /&gt;
 https://github.com/gmclelland/FieldtypeLeafletMapMarker/blob/PW3/InputfieldLeafletMapMarker.module (Fork)&lt;br /&gt;
 https://leafletjs.com/ (Leaflet Hauptseite)&lt;br /&gt;
 https://leaflet-extras.github.io/leaflet-providers/preview/index.html (Karten Provider)&lt;br /&gt;
 https://github.com/Leaflet/Leaflet.markercluster (Doku für Cluster Modul)&lt;br /&gt;
== Überblick ==&lt;br /&gt;
Wird aus Zeitgründen vom Entwickler nicht sehr aktiv weitergepflegt. Allerdings gibt es ordentlichen Support im Forum und ein paar Forks auf Github.&lt;br /&gt;
&lt;br /&gt;
Man kann für spezielle Anforderungen auch nur das Feld im Backend nutzen und Leaflet im Frontend selbst aufsetzen bzw. eigene Skripte nutzen. Das JavaScript für die Frontendausgabe im Modul findet man in:&lt;br /&gt;
 MarkupLeafletMap.js (JavaScript für Frontend-Ausgabe)&lt;br /&gt;
 MarkupLeafletMap.module (Inline JS für Frontend ) &lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
* Benötigt die Konfiguration von &amp;#039;&amp;#039;&amp;#039;$additionalHeaderData&amp;#039;&amp;#039;&amp;#039;. Das ist einfach ein String der in &amp;#039;&amp;#039;_init.php&amp;#039;&amp;#039; angelegt und im &amp;#039;&amp;#039;Header eingebunden&amp;#039;&amp;#039; wird. Damit lassen sich Zusätzliche Daten per Template rendern. &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Feldname&amp;#039;&amp;#039;&amp;#039; im Backend ist hier &amp;#039;&amp;#039;&amp;#039;map_leaflet&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Achtung Bug (V2.8.1): Immer den Geocoder auf der Seite benutzen. Die Standarddaten aus der Feldkonfiguration werden nicht richtig übernommen (Adressfeld) und es gibt Ausgabefehler.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
$mapMarkup = $map-&amp;gt;render($page, &amp;#039;map_leaflet ,array(&amp;#039;markerColour&amp;#039; =&amp;gt; &amp;#039;green&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;content_bottom&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Button GM --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Lange+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Map --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;col span_12&amp;quot;&amp;gt;&amp;#039;.$mapMarkup.&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Daten manuell auslesen und verarbeiten ==&lt;br /&gt;
Einfaches Beispiel das auch bei AJAX Seiten funktioniert und einen Button zur Google Maps Wegbeschreibung enthält.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// If AJAX put this in _init.php else uncomment next two lines&lt;br /&gt;
// $map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
// $additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
$myAdress = $page-&amp;gt;map_leaflet-&amp;gt;address;	// outputs the address you entered&lt;br /&gt;
$myLat = $page-&amp;gt;map_leaflet-&amp;gt;lat; 		// outputs the latitude&lt;br /&gt;
$myLng = $page-&amp;gt;map_leaflet-&amp;gt;lng; 		// outputs the longitude&lt;br /&gt;
$myZoom = $page-&amp;gt;map_leaflet-&amp;gt;zoom;		// outputs the zoom level&lt;br /&gt;
&lt;br /&gt;
$mapMarkup = &amp;quot;&lt;br /&gt;
&amp;lt;div id=&amp;#039;mleafletmap1&amp;#039;style=&amp;#039;height:400px;&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
var mleafletmap1 = new jsMarkupLeafletMap();&lt;br /&gt;
 mleafletmap1.setOption(&amp;#039;zoom&amp;#039;, $myZoom);&lt;br /&gt;
  mleafletmap1.init(&amp;#039;mleafletmap1&amp;#039;, $myLat, $myLng, &amp;#039;OpenStreetMap.Mapnik&amp;#039;);&lt;br /&gt;
  var default_marker_icon = L.AwesomeMarkers.icon({ icon: &amp;#039;home&amp;#039;, iconColor: &amp;#039;white&amp;#039;, prefix: &amp;#039;fa&amp;#039;, markerColor: &amp;#039;darkblue&amp;#039; });&lt;br /&gt;
  mleafletmap1.addMarkerIcon(default_marker_icon, $myLat, $myLng, &amp;#039;/kontakt/&amp;#039;, &amp;#039;Kontakt&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Meine+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;col-sm-12&amp;quot; style=&amp;quot;height:400px;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
    .$mapMarkup.&amp;#039;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Multiple Markers Beispiel ===&lt;br /&gt;
Es sollen Orte (LeafletMapMarker) von Unterseiten geholt werden und aus diesen eine Map mit mehreren Markern generiert werden. Viele Marker auf engem Raum werden geclustert.&lt;br /&gt;
&lt;br /&gt;
Voraussetzungen im Beispiel&lt;br /&gt;
* die Kindseiten werden über ihr template selektiert. Im Beispiel wird das durch ein Textfeld im Parent Template festgelegt (Feldname template_title)&lt;br /&gt;
* der Leaflet code wird nur bei Bedarf geladen. Das geschieht über eine Switch Anweisung im Repeater&lt;br /&gt;
* Leaflet Dateien sind lokal hinterlegt (siehe js und css Anweisungen).&lt;br /&gt;
 &lt;br /&gt;
layout_blocks.php (Partial für layout Blocks)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
switch ($item-&amp;gt;type) {&lt;br /&gt;
case &amp;#039;map_leaflet&amp;#039;:&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData .= &amp;#039;&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
// Dont&amp;#039;t forget to include font awesome if not present&lt;br /&gt;
$item-&amp;gt;myMap = $map;&lt;br /&gt;
$out .= $item-&amp;gt;render();&lt;br /&gt;
break;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
repeaterMatrixField map_leaflet.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
//...&lt;br /&gt;
// map&lt;br /&gt;
&lt;br /&gt;
$options = array(&lt;br /&gt;
	&amp;quot;width&amp;quot; =&amp;gt; &amp;quot;100%&amp;quot;,&lt;br /&gt;
	&amp;quot;height&amp;quot; =&amp;gt; &amp;quot;540px&amp;quot;,&lt;br /&gt;
	&amp;quot;markerLinkField&amp;quot; =&amp;gt; &amp;quot;link&amp;quot;,&lt;br /&gt;
	&amp;quot;markerTitleField&amp;quot; =&amp;gt; &amp;quot;title&amp;quot;,&lt;br /&gt;
	&amp;#039;popupFormatter&amp;#039; =&amp;gt; function($page) {&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;h4&amp;gt;$page-&amp;gt;title&amp;lt;/h4&amp;gt;&amp;quot;;&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;p&amp;gt;$page-&amp;gt;text&amp;lt;/p&amp;gt;&amp;quot;; // ** NB: Use escaped double quotes if HTML attributes needed **&lt;br /&gt;
			if($page-&amp;gt;link != &amp;quot;#&amp;quot;) $out[] = &amp;quot;&amp;lt;p&amp;gt;&amp;lt;a href=\&amp;quot;{$page-&amp;gt;link}\&amp;quot;&amp;gt;{$page-&amp;gt;link}&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
			return implode(&amp;#039; &amp;#039;, $out);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
);&lt;br /&gt;
if( !empty($page-&amp;gt;template_title) ){&lt;br /&gt;
	$mySelector = &amp;#039;template=&amp;#039;.$page-&amp;gt;template_title;&lt;br /&gt;
	$places = $pages-&amp;gt;find($mySelector);&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($places, &amp;#039;location&amp;#039;,$options);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
else{&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($page,&amp;#039;location&amp;#039;,$options);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Leaflet Skripte lokal einbinden (keine externen Skripte laden) ===&lt;br /&gt;
Dies sind die benötigten Header Zeilen. leaflet.css und leaflet.js sollte dann entsprechend vorhanden sein. Der Rest kommat aus dem Modul Verzeichnis.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Font Awesome muß ebenfalls vorhanden sein (Bisher - September 2018, die 4er Version).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$additionalHeaderData = &amp;#039;&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scroll Zoom abschalten ===&lt;br /&gt;
==== Im Frontend (Fieldtype)====&lt;br /&gt;
In MarkupLeafletMap.js die Option hinzufügen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
this.options = {&lt;br /&gt;
        zoom: 10,&lt;br /&gt;
        center: null,&lt;br /&gt;
        scrollWheelZoom: false, // diese option einfügen&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    this._currentURL = &amp;#039;&amp;#039;;&lt;br /&gt;
    this.init = function(mapID, lat, lng, provider) {&lt;br /&gt;
        if(lat != 0) this.map = L.map(mapID, {&lt;br /&gt;
          center: [lat, lng],&lt;br /&gt;
          zoom: this.options.zoom,&lt;br /&gt;
          scrollWheelZoom: this.options.scrollWheelZoom&lt;br /&gt;
        } );&lt;br /&gt;
        L.tileLayer.provider(provider).addTo(this.map);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== Im Backend ====&lt;br /&gt;
Hier muß mann den Code des Inputfield anpassen. Direkt in den Optionen hat das bei mir nicht funktioniert. Sieht so aus als ob nur der zoom statt alle Optionen gesetzt wird. Daher einfach nach der Instanzerzeugung der karte den ScrollWheelZoom abschalten:&lt;br /&gt;
&lt;br /&gt;
FieldtypeLeafletMapMarker/InputfieldLeafletMapMarker.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var map = L.map(document.getElementById(mapId)). setView([lat, lng], options.zoom); // nach dem hier&lt;br /&gt;
map.scrollWheelZoom.disable(); // dieses einfügen.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;#039;map&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
	var cities = new L.LayerGroup();&lt;br /&gt;
&lt;br /&gt;
	L.marker([39.61, -105.02]).bindPopup(&amp;#039;This is Littleton, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.74, -104.99]).bindPopup(&amp;#039;This is Denver, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.73, -104.8]).bindPopup(&amp;#039;This is Aurora, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.77, -105.23]).bindPopup(&amp;#039;This is Golden, CO.&amp;#039;).addTo(cities);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	var mbAttr = &amp;#039;Map data &amp;amp;copy; &amp;lt;a href=&amp;quot;http://openstreetmap.org&amp;quot;&amp;gt;OpenStreetMap&amp;lt;/a&amp;gt; contributors, &amp;#039; +&lt;br /&gt;
			&amp;#039;&amp;lt;a href=&amp;quot;http://creativecommons.org/licenses/by-sa/2.0/&amp;quot;&amp;gt;CC-BY-SA&amp;lt;/a&amp;gt;, &amp;#039; +&lt;br /&gt;
			&amp;#039;Imagery © &amp;lt;a href=&amp;quot;http://mapbox.com&amp;quot;&amp;gt;Mapbox&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
		mbUrl = &amp;#039;https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	var grayscale   = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.light&amp;#039;, attribution: mbAttr}),&lt;br /&gt;
		streets  = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.streets&amp;#039;,   attribution: mbAttr});&lt;br /&gt;
&lt;br /&gt;
	var map = L.map(&amp;#039;map&amp;#039;, {&lt;br /&gt;
		center: [39.73, -104.99],&lt;br /&gt;
		zoom: 10,&lt;br /&gt;
		layers: [grayscale, cities]&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var baseLayers = {&lt;br /&gt;
		&amp;quot;Grayscale&amp;quot;: grayscale,&lt;br /&gt;
		&amp;quot;Streets&amp;quot;: streets&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var overlays = {&lt;br /&gt;
		&amp;quot;Cities&amp;quot;: cities&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	L.control.layers(baseLayers, overlays).addTo(map);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Probleme beheben ==&lt;br /&gt;
=== Feld zeigt an Error Geocoding ===&lt;br /&gt;
File Cache komplett löschen (assets/cache/...)&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23351</id>
		<title>Processwire - Leaflet Map Marker Modul</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23351"/>
		<updated>2018-10-06T17:29:07Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Siehe auch ==&lt;br /&gt;
 https://processwire.com/talk/topic/9745-module-leaflet-map/?page=5 (Forum)&lt;br /&gt;
 https://github.com/gmclelland/FieldtypeLeafletMapMarker/blob/PW3/InputfieldLeafletMapMarker.module (Fork)&lt;br /&gt;
 https://leafletjs.com/ (Leaflet Hauptseite)&lt;br /&gt;
 https://leaflet-extras.github.io/leaflet-providers/preview/index.html (Karten Provider)&lt;br /&gt;
 https://github.com/Leaflet/Leaflet.markercluster (Doku für Cluster Modul)&lt;br /&gt;
== Überblick ==&lt;br /&gt;
Wird aus Zeitgründen vom Entwickler nicht sehr aktiv weitergepflegt. Allerdings gibt es ordentlichen Support im Forum und ein paar Forks auf Github.&lt;br /&gt;
&lt;br /&gt;
Man kann für spezielle Anforderungen auch nur das Feld im Backend nutzen und Leaflet im Frontend selbst aufsetzen bzw. eigene Skripte nutzen. Das JavaScript für die Frontendausgabe im Modul findet man in:&lt;br /&gt;
 MarkupLeafletMap.js (JavaScript für Frontend-Ausgabe)&lt;br /&gt;
 MarkupLeafletMap.module (Inline JS für Frontend ) &lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
* Benötigt die Konfiguration von &amp;#039;&amp;#039;&amp;#039;$additionalHeaderData&amp;#039;&amp;#039;&amp;#039;. Das ist einfach ein String der in &amp;#039;&amp;#039;_init.php&amp;#039;&amp;#039; angelegt und im &amp;#039;&amp;#039;Header eingebunden&amp;#039;&amp;#039; wird. Damit lassen sich Zusätzliche Daten per Template rendern. &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Feldname&amp;#039;&amp;#039;&amp;#039; im Backend ist hier &amp;#039;&amp;#039;&amp;#039;map_leaflet&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Achtung Bug (V2.8.1): Immer den Geocoder auf der Seite benutzen. Die Standarddaten aus der Feldkonfiguration werden nicht richtig übernommen (Adressfeld) und es gibt Ausgabefehler.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
$mapMarkup = $map-&amp;gt;render($page, &amp;#039;map_leaflet ,array(&amp;#039;markerColour&amp;#039; =&amp;gt; &amp;#039;green&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;content_bottom&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Button GM --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Lange+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Map --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;col span_12&amp;quot;&amp;gt;&amp;#039;.$mapMarkup.&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Daten manuell auslesen und verarbeiten ==&lt;br /&gt;
Einfaches Beispiel das auch bei AJAX Seiten funktioniert und einen Button zur Google Maps Wegbeschreibung enthält.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// If AJAX put this in _init.php else uncomment next two lines&lt;br /&gt;
// $map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
// $additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
$myAdress = $page-&amp;gt;map_leaflet-&amp;gt;address;	// outputs the address you entered&lt;br /&gt;
$myLat = $page-&amp;gt;map_leaflet-&amp;gt;lat; 		// outputs the latitude&lt;br /&gt;
$myLng = $page-&amp;gt;map_leaflet-&amp;gt;lng; 		// outputs the longitude&lt;br /&gt;
$myZoom = $page-&amp;gt;map_leaflet-&amp;gt;zoom;		// outputs the zoom level&lt;br /&gt;
&lt;br /&gt;
$mapMarkup = &amp;quot;&lt;br /&gt;
&amp;lt;div id=&amp;#039;mleafletmap1&amp;#039;style=&amp;#039;height:400px;&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
var mleafletmap1 = new jsMarkupLeafletMap();&lt;br /&gt;
 mleafletmap1.setOption(&amp;#039;zoom&amp;#039;, $myZoom);&lt;br /&gt;
  mleafletmap1.init(&amp;#039;mleafletmap1&amp;#039;, $myLat, $myLng, &amp;#039;OpenStreetMap.Mapnik&amp;#039;);&lt;br /&gt;
  var default_marker_icon = L.AwesomeMarkers.icon({ icon: &amp;#039;home&amp;#039;, iconColor: &amp;#039;white&amp;#039;, prefix: &amp;#039;fa&amp;#039;, markerColor: &amp;#039;darkblue&amp;#039; });&lt;br /&gt;
  mleafletmap1.addMarkerIcon(default_marker_icon, $myLat, $myLng, &amp;#039;/kontakt/&amp;#039;, &amp;#039;Kontakt&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Meine+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;col-sm-12&amp;quot; style=&amp;quot;height:400px;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
    .$mapMarkup.&amp;#039;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Multiple Markers Beispiel ===&lt;br /&gt;
Es sollen Orte (LeafletMapMarker) von Unterseiten geholt werden und aus diesen eine Map mit mehreren Markern generiert werden. Viele Marker auf engem Raum werden geclustert.&lt;br /&gt;
&lt;br /&gt;
Voraussetzungen im Beispiel&lt;br /&gt;
* die Kindseiten werden über ihr template selektiert. Im Beispiel wird das durch ein Textfeld im Parent Template festgelegt (Feldname template_title)&lt;br /&gt;
* der Leaflet code wird nur bei Bedarf geladen. Das geschieht über eine Switch Anweisung im Repeater&lt;br /&gt;
* Leaflet Dateien sind lokal hinterlegt (siehe js und css Anweisungen).&lt;br /&gt;
 &lt;br /&gt;
layout_blocks.php (Partial für layout Blocks)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
switch ($item-&amp;gt;type) {&lt;br /&gt;
case &amp;#039;map_leaflet&amp;#039;:&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData .= &amp;#039;&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
// Dont&amp;#039;t forget to include font awesome if not present&lt;br /&gt;
$item-&amp;gt;myMap = $map;&lt;br /&gt;
$out .= $item-&amp;gt;render();&lt;br /&gt;
break;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
repeaterMatrixField map_leaflet.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
//...&lt;br /&gt;
// map&lt;br /&gt;
&lt;br /&gt;
$options = array(&lt;br /&gt;
	&amp;quot;width&amp;quot; =&amp;gt; &amp;quot;100%&amp;quot;,&lt;br /&gt;
	&amp;quot;height&amp;quot; =&amp;gt; &amp;quot;540px&amp;quot;,&lt;br /&gt;
	&amp;quot;markerLinkField&amp;quot; =&amp;gt; &amp;quot;link&amp;quot;,&lt;br /&gt;
	&amp;quot;markerTitleField&amp;quot; =&amp;gt; &amp;quot;title&amp;quot;,&lt;br /&gt;
	&amp;#039;popupFormatter&amp;#039; =&amp;gt; function($page) {&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;h4&amp;gt;$page-&amp;gt;title&amp;lt;/h4&amp;gt;&amp;quot;;&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;p&amp;gt;$page-&amp;gt;text&amp;lt;/p&amp;gt;&amp;quot;; // ** NB: Use escaped double quotes if HTML attributes needed **&lt;br /&gt;
			if($page-&amp;gt;link != &amp;quot;#&amp;quot;) $out[] = &amp;quot;&amp;lt;p&amp;gt;&amp;lt;a href=\&amp;quot;{$page-&amp;gt;link}\&amp;quot;&amp;gt;{$page-&amp;gt;link}&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
			return implode(&amp;#039; &amp;#039;, $out);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
);&lt;br /&gt;
if( !empty($page-&amp;gt;template_title) ){&lt;br /&gt;
	$mySelector = &amp;#039;template=&amp;#039;.$page-&amp;gt;template_title;&lt;br /&gt;
	$places = $pages-&amp;gt;find($mySelector);&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($places, &amp;#039;location&amp;#039;,$options);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
else{&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($page,&amp;#039;location&amp;#039;,$options);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Leaflet Skripte lokal einbinden (keine externen Skripte laden) ===&lt;br /&gt;
Dies sind die benötigten Header Zeilen. leaflet.css und leaflet.js sollte dann entsprechend vorhanden sein. Der Rest kommat aus dem Modul Verzeichnis.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Font Awesome muß ebenfalls vorhanden sein (Bisher - September 2018, die 4er Version).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$additionalHeaderData = &amp;#039;&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scroll Zoom abschalten ===&lt;br /&gt;
In MarkupLeafletMap.js die Option hinzufügen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
this.options = {&lt;br /&gt;
        zoom: 10,&lt;br /&gt;
        center: null,&lt;br /&gt;
        scrollWheelZoom: false,&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    this._currentURL = &amp;#039;&amp;#039;;&lt;br /&gt;
    this.init = function(mapID, lat, lng, provider) {&lt;br /&gt;
        if(lat != 0) this.map = L.map(mapID, {&lt;br /&gt;
          center: [lat, lng],&lt;br /&gt;
          zoom: this.options.zoom,&lt;br /&gt;
          scrollWheelZoom: this.options.scrollWheelZoom&lt;br /&gt;
        } );&lt;br /&gt;
        L.tileLayer.provider(provider).addTo(this.map);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;#039;map&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
	var cities = new L.LayerGroup();&lt;br /&gt;
&lt;br /&gt;
	L.marker([39.61, -105.02]).bindPopup(&amp;#039;This is Littleton, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.74, -104.99]).bindPopup(&amp;#039;This is Denver, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.73, -104.8]).bindPopup(&amp;#039;This is Aurora, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.77, -105.23]).bindPopup(&amp;#039;This is Golden, CO.&amp;#039;).addTo(cities);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	var mbAttr = &amp;#039;Map data &amp;amp;copy; &amp;lt;a href=&amp;quot;http://openstreetmap.org&amp;quot;&amp;gt;OpenStreetMap&amp;lt;/a&amp;gt; contributors, &amp;#039; +&lt;br /&gt;
			&amp;#039;&amp;lt;a href=&amp;quot;http://creativecommons.org/licenses/by-sa/2.0/&amp;quot;&amp;gt;CC-BY-SA&amp;lt;/a&amp;gt;, &amp;#039; +&lt;br /&gt;
			&amp;#039;Imagery © &amp;lt;a href=&amp;quot;http://mapbox.com&amp;quot;&amp;gt;Mapbox&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
		mbUrl = &amp;#039;https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	var grayscale   = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.light&amp;#039;, attribution: mbAttr}),&lt;br /&gt;
		streets  = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.streets&amp;#039;,   attribution: mbAttr});&lt;br /&gt;
&lt;br /&gt;
	var map = L.map(&amp;#039;map&amp;#039;, {&lt;br /&gt;
		center: [39.73, -104.99],&lt;br /&gt;
		zoom: 10,&lt;br /&gt;
		layers: [grayscale, cities]&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var baseLayers = {&lt;br /&gt;
		&amp;quot;Grayscale&amp;quot;: grayscale,&lt;br /&gt;
		&amp;quot;Streets&amp;quot;: streets&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var overlays = {&lt;br /&gt;
		&amp;quot;Cities&amp;quot;: cities&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	L.control.layers(baseLayers, overlays).addTo(map);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Probleme beheben ==&lt;br /&gt;
=== Feld zeigt an Error Geocoding ===&lt;br /&gt;
File Cache komplett löschen (assets/cache/...)&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_stickyFlags_(Layoutblock)&amp;diff=23350</id>
		<title>ProcessWire - stickyFlags (Layoutblock)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_stickyFlags_(Layoutblock)&amp;diff=23350"/>
		<updated>2018-10-06T16:37:09Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Sticky Flags sind kleine Fähnchen am Seitenrand gemeint. Hier Klassen für ui-kit enthalten&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
&lt;br /&gt;
$content = &amp;quot;&amp;quot;;&lt;br /&gt;
$imgWidth = &amp;#039;120&amp;#039;;&lt;br /&gt;
$boxWidth = &amp;#039;60&amp;#039;;&lt;br /&gt;
$vMargin = &amp;#039;3&amp;#039;;&lt;br /&gt;
$elemHeight = 0;&lt;br /&gt;
$countFlags = count($page-&amp;gt;repeater_sticky_flags);&lt;br /&gt;
$elemHeight = (intval($boxWidth)+intval($vMargin)) * $countFlags;&lt;br /&gt;
foreach($page-&amp;gt;repeater_sticky_flags as $item){&lt;br /&gt;
	$myImage = $item-&amp;gt;single_image-&amp;gt;width($imgWidth);&lt;br /&gt;
	$content .= &amp;#039;&amp;lt;div class=&amp;quot;sticky-flag&amp;quot; style=&amp;quot;width:&amp;#039;.$boxWidth.&amp;#039;px;&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;&amp;#039;.$item-&amp;gt;link.&amp;#039;&amp;quot; description=&amp;quot;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;&amp;#039;.$myImage-&amp;gt;url.&amp;#039;&amp;quot; title=&amp;quot;&amp;#039;.$item-&amp;gt;text.&amp;#039;&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
$content = wrap($content,&amp;#039;&amp;lt;div class=&amp;quot;uk-position-fixed sticky-flags&amp;quot; style=&amp;quot;margin-top:-&amp;#039;.$elemHeight.&amp;#039;px;&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
return $content;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CSS&lt;br /&gt;
&lt;br /&gt;
fixed positionieren fertig&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_stickyFlags_(Layoutblock)&amp;diff=23349</id>
		<title>ProcessWire - stickyFlags (Layoutblock)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_stickyFlags_(Layoutblock)&amp;diff=23349"/>
		<updated>2018-10-06T16:36:41Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: Die Seite wurde neu angelegt: „Mit Sticky Flags sind kleine Fähnchen am Seitenrand gemeint. &amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt; &amp;lt;?php namespace ProcessWire;  $content = &amp;quot;&amp;quot;; $imgWidth = &amp;#039;120&amp;#039;; $box…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Sticky Flags sind kleine Fähnchen am Seitenrand gemeint.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
&lt;br /&gt;
$content = &amp;quot;&amp;quot;;&lt;br /&gt;
$imgWidth = &amp;#039;120&amp;#039;;&lt;br /&gt;
$boxWidth = &amp;#039;60&amp;#039;;&lt;br /&gt;
$vMargin = &amp;#039;3&amp;#039;;&lt;br /&gt;
$elemHeight = 0;&lt;br /&gt;
$countFlags = count($page-&amp;gt;repeater_sticky_flags);&lt;br /&gt;
$elemHeight = (intval($boxWidth)+intval($vMargin)) * $countFlags;&lt;br /&gt;
foreach($page-&amp;gt;repeater_sticky_flags as $item){&lt;br /&gt;
	$myImage = $item-&amp;gt;single_image-&amp;gt;width($imgWidth);&lt;br /&gt;
	$content .= &amp;#039;&amp;lt;div class=&amp;quot;sticky-flag&amp;quot; style=&amp;quot;width:&amp;#039;.$boxWidth.&amp;#039;px;&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;&amp;#039;.$item-&amp;gt;link.&amp;#039;&amp;quot; description=&amp;quot;&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;&amp;#039;.$myImage-&amp;gt;url.&amp;#039;&amp;quot; title=&amp;quot;&amp;#039;.$item-&amp;gt;text.&amp;#039;&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
$content = wrap($content,&amp;#039;&amp;lt;div class=&amp;quot;uk-position-fixed sticky-flags&amp;quot; style=&amp;quot;margin-top:-&amp;#039;.$elemHeight.&amp;#039;px;&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
return $content;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CSS&lt;br /&gt;
&lt;br /&gt;
fixed positionieren fertig&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Layout_Bl%C3%B6cke_mit_RepeaterMatrix&amp;diff=23348</id>
		<title>ProcessWire - Layout Blöcke mit RepeaterMatrix</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Layout_Bl%C3%B6cke_mit_RepeaterMatrix&amp;diff=23348"/>
		<updated>2018-10-06T16:34:13Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Beispiele für Layout Blöcke */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit einer RepeaterMatrix, kann man Einzelfelder zu Gruppen zusammenfassen um z.B. verschiedene Layoutblöcke zu definieren. Diese Gruppen kann man wiederholt nutzen. Im Gegensatz zum Repeater Feld können nicht nur gleichartige Felder wiederholt werden. Der Benutzer kann alle in der Matrix definierten Gruppen auswählen.&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
* ProFields: Repeater Matrix installieren &lt;br /&gt;
* Ein RepeaterMatrix Feld definieren und dort dann die Gestaltungsblöcke definieren.&lt;br /&gt;
 Repeater Matrix Feld: layout_blocks&lt;br /&gt;
* Partial zum späteren Inkludieren erstellen&lt;br /&gt;
 z.B. partials/layout_blocks.inc&lt;br /&gt;
* Partial im Template inkludieren&lt;br /&gt;
* Felder definieren die man später in den Layoutblöcken nutzen möchte -&amp;gt; gut benennen&lt;br /&gt;
* Skripte für die Gestaltungsblöcke anlegen&lt;br /&gt;
 fields/layout_blocks/accordion.php&lt;br /&gt;
 fields/layout_blocks/headline.php&lt;br /&gt;
* Eventuell benötigte Skripte einbinden. Bei AJAX Seitenwechseln kann es notwendig sein neu zu initialisieren.&lt;br /&gt;
&lt;br /&gt;
== Dateien ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;partials/layout_blocks.inc (Version 1)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wird die Renderfunktion der RepeaterMatrix aufgerufen, sucht ProcessWire automatisch in fields/repeater_matrix_feldname/item_name.php nach dem Rendering. Es muß einfach &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
/* Shows layout blocks&lt;br /&gt;
 * uses repeater Matrix field&lt;br /&gt;
 * uses standard render function which looks after templates/fields/matrix_field_name/child_field_name.php for returning markup&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
function renderLayoutBlocks($page){&lt;br /&gt;
  $out = &amp;#039;&amp;#039;;&lt;br /&gt;
  foreach($page-&amp;gt;layout_blocks as $item) {&lt;br /&gt;
    switch ($item-&amp;gt;type) {&lt;br /&gt;
      case &amp;#039;headline&amp;#039;:&lt;br /&gt;
        $out .= $item-&amp;gt;render(); // looks for templates/fields/layout_blocks_matrix/headline.php&lt;br /&gt;
        break;&lt;br /&gt;
      case &amp;#039;content&amp;#039;:&lt;br /&gt;
        $out .= &amp;#039;&amp;lt;section&amp;gt;&amp;#039;.$item-&amp;gt;body.&amp;#039;&amp;lt;/section&amp;gt;&amp;#039;;&lt;br /&gt;
        break;&lt;br /&gt;
      case &amp;#039;responsive_image&amp;#039;:&lt;br /&gt;
        $out .= $item-&amp;gt;render();&lt;br /&gt;
        break;&lt;br /&gt;
      case &amp;#039;accordion&amp;#039;:&lt;br /&gt;
        $out .= $item-&amp;gt;render(); // looks for templates/fields/layout_blocks/accordion.php&lt;br /&gt;
        break;&lt;br /&gt;
      default:&lt;br /&gt;
        $out .= &amp;#039;&amp;lt;div class=&amp;quot;message&amp;quot;&amp;gt;Keine Renderdefinition gefunden für den Typ: &amp;#039;.$item-&amp;gt;type.&amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
        break;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return $out;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Template einbindung z.b. layout_blocks.php ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
include(&amp;quot;./partials/layout_blocks.inc&amp;quot;);&lt;br /&gt;
$layoutBlocks = renderLayoutBlocks($page);&lt;br /&gt;
$content = $layoutBlocks;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== partials/layout_blocks.inc (Kurzversion) ===&lt;br /&gt;
Integriert die layout_blocks.inc ins Template und verkürzt diese. Vorteil: übersichtlich. Nachteil: nicht so schön zu debuggen. Muß noch getestet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
/* Shows layout blocks&lt;br /&gt;
 * uses repeater Matrix field&lt;br /&gt;
 * uses standard render function which looks after templates/fields/matrix_field_name/child_field_name.php for returning markup&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
function renderLayoutBlocks($page){&lt;br /&gt;
  $out = &amp;#039;&amp;#039;;&lt;br /&gt;
  foreach($page-&amp;gt;layout_blocks_matrix as $item) {&lt;br /&gt;
    $out .= $item-&amp;gt;render(); // looks for templates/fields/layout_blocks_matrix/itemTypeName.php&lt;br /&gt;
  }&lt;br /&gt;
  return $out;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beispiele für Layout Blöcke ===&lt;br /&gt;
 [[ProcessWire - TimeTable (Layoutblock uikit)]]&lt;br /&gt;
 [[ProcessWire - stickyFlags (Layoutblock)]]&lt;br /&gt;
==== Accordion (Bootstrap) ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;fields/layout_blocks/accordion.php (Bootstrap Accordion Style)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
  /*&lt;br /&gt;
   * Accordion Bootstrap Style&lt;br /&gt;
   * Used fields: &lt;br /&gt;
   * accordion_repeater (repeater field)&lt;br /&gt;
   * accordion_headline&lt;br /&gt;
   * accordion_content&lt;br /&gt;
   */&lt;br /&gt;
&lt;br /&gt;
  $markup = &amp;#039;&amp;lt;div class=&amp;quot;panel-group accordion&amp;quot; id=&amp;quot;accordion-&amp;#039;.$page-&amp;gt;id.&amp;#039;&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
	//return &amp;quot;render function Accordion class&amp;quot;;&lt;br /&gt;
  //$firstClass = &amp;#039;in&amp;#039;; // used for first panel&lt;br /&gt;
  $firstClass = &amp;#039;&amp;#039;;&lt;br /&gt;
  foreach($page-&amp;gt;accordion_repeater as $panel){&lt;br /&gt;
    $markup .= &amp;#039;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;panel panel-default&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div class=&amp;quot;panel-heading&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;h4 class=&amp;quot;panel-title&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;a class=&amp;quot;collapsed&amp;quot; data-toggle=&amp;quot;collapse&amp;quot; data-parent=&amp;quot;#accordion-&amp;#039;.$page-&amp;gt;id.&amp;#039;&amp;quot; href=&amp;quot;#collapse&amp;#039;.$panel-&amp;gt;id.&amp;#039;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
            .$panel-&amp;gt;accordion_headline.&amp;#039;&lt;br /&gt;
          &amp;lt;/a&amp;gt;&lt;br /&gt;
        &amp;lt;/h4&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;collapse&amp;#039;.$panel-&amp;gt;id.&amp;#039;&amp;quot; class=&amp;quot;panel-collapse collapse &amp;#039;.$firstClass.&amp;#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;panel-body&amp;quot;&amp;gt;&amp;#039;.$panel-&amp;gt;accordion_content.&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
    $firstClass=&amp;#039;&amp;#039;;&lt;br /&gt;
  }&lt;br /&gt;
  $markup .= &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
  return $markup;&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Responsive Image ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
$out = &amp;#039;&amp;#039;;&lt;br /&gt;
$w = 600; // width&lt;br /&gt;
foreach($page-&amp;gt;images as $image) {&lt;br /&gt;
  $out .= &amp;#039;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;img class=&amp;quot;img-responsive&amp;quot; style=&amp;quot;width: 100%; height: auto;&amp;quot; src=&amp;quot;&amp;#039;.$image-&amp;gt;width($w)-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
return $out;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Weitere Beispiele ===&lt;br /&gt;
 [[Layout Block - portfolio_box]]&lt;br /&gt;
&lt;br /&gt;
==== Vegas Slider ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
&lt;br /&gt;
$out = &amp;#039;&amp;#039;;&lt;br /&gt;
$slides = array();&lt;br /&gt;
$width = 600; // todo -&amp;gt; make this accessible via textbox in admin&lt;br /&gt;
&lt;br /&gt;
foreach($page-&amp;gt;images as $image){&lt;br /&gt;
  $myImage = $image-&amp;gt;width($width);&lt;br /&gt;
  $slides[] = &amp;#039;{ src: &amp;quot;&amp;#039;.$myImage-&amp;gt;url.&amp;#039;&amp;quot; }&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$out = &amp;#039;&amp;lt;div class=&amp;quot;vegas&amp;quot; style=&amp;quot;height:290px;width:auto; padding-top: 12px;&amp;quot;&amp;gt; &amp;amp;nbsp; &amp;lt;/div&amp;gt;&amp;lt;!-- vegas end --&amp;gt;&amp;#039;;&lt;br /&gt;
$out .= &amp;#039;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
function initVegas(){&lt;br /&gt;
  $(&amp;quot;.vegas&amp;quot;).vegas({&lt;br /&gt;
    delay:8000,&lt;br /&gt;
    timer:false,&lt;br /&gt;
    transition: &amp;quot;fade2&amp;quot;,&lt;br /&gt;
    transitionDuration: 1500,&lt;br /&gt;
    animation: &amp;quot;random&amp;quot;,&lt;br /&gt;
    slides: [&amp;#039;.implode($slides,&amp;#039;,&amp;#039;).&amp;#039;]&lt;br /&gt;
  });&lt;br /&gt;
}&lt;br /&gt;
// use initVegas() from ajax post if loading via ajax&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
return $out;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Banner Image ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
// Banner Image&lt;br /&gt;
$out = &amp;#039;&amp;#039;;&lt;br /&gt;
$templateName = $page-&amp;gt;getForPage()-&amp;gt;template-&amp;gt;name;&lt;br /&gt;
if($templateName == &amp;quot;isotope-child&amp;quot;) $isotopeFilterClass = $page-&amp;gt;getForpage()-&amp;gt;name;// class if template is isotope-child&lt;br /&gt;
else $isotopeFilterClass = &amp;quot;home&amp;quot;;// for all other templates we want to show content imediately (home class inits first isotope element)&lt;br /&gt;
$myImage = &amp;quot;&amp;quot;;&lt;br /&gt;
$myImageMarkup = &amp;quot;&amp;quot;;&lt;br /&gt;
$imageWidth = 1244;&lt;br /&gt;
&lt;br /&gt;
if($page-&amp;gt;iso_elem_image){&lt;br /&gt;
  $myImage = $page-&amp;gt;iso_elem_image-&amp;gt;width($imageWidth);&lt;br /&gt;
  $myImageMarkup = &amp;#039;&amp;lt;img src=&amp;quot;&amp;#039;.$myImage-&amp;gt;url.&amp;#039;&amp;quot; class=&amp;quot;responsive-image&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ob_start();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!-- ======== Element: Banner Image ======== --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;#039;element &amp;lt;?=$isotopeFilterClass?&amp;gt;&amp;#039;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;#039;element-wrapper&amp;#039;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;#039;&amp;#039; id=&amp;#039;&amp;#039;&amp;gt;&lt;br /&gt;
      &amp;lt;div class=&amp;#039;profile-picture&amp;#039; id=&amp;#039;profile-picture&amp;#039;&amp;gt;&lt;br /&gt;
        &amp;lt;?= $myImageMarkup ?&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- ======== / Element ======== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$out = ob_get_contents();&lt;br /&gt;
ob_end_clean();&lt;br /&gt;
&lt;br /&gt;
return $out;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Owl Carousel ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
&lt;br /&gt;
$out = &amp;#039;&amp;#039;;&lt;br /&gt;
$slides = &amp;#039;&amp;#039;;&lt;br /&gt;
$width = 1280; // todo -&amp;gt; make this accessible via textbox in admin&lt;br /&gt;
&lt;br /&gt;
foreach($page-&amp;gt;images as $image){&lt;br /&gt;
  $myImage = $image-&amp;gt;width($width);&lt;br /&gt;
  $items .= &amp;#039;&amp;lt;!-- item --&amp;gt; &amp;lt;div class=&amp;quot;project-single-carousel-item&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;&amp;#039;.$myImage-&amp;gt;url.&amp;#039;&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; &amp;lt;/div&amp;gt;&amp;lt;!-- item end --&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$out = &amp;#039;&lt;br /&gt;
&amp;lt;!-- Carousel --&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;project-single-carousel&amp;quot; class=&amp;quot;project-single-carousel owl-carousel&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;#039;.$items.&amp;#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- Carousel end --&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
$out .= &amp;#039;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
// additional JS if nessecary&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
return $out;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Content Box mit Icon ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
// Big Content Box&lt;br /&gt;
$out = &amp;#039;&amp;#039;;&lt;br /&gt;
//$out .= $page-&amp;gt;iso_elem_title;&lt;br /&gt;
$templateName = $page-&amp;gt;getForPage()-&amp;gt;template-&amp;gt;name;&lt;br /&gt;
if($templateName == &amp;quot;isotope-child&amp;quot;) $isotopeFilterClass = $page-&amp;gt;getForpage()-&amp;gt;name;// class if template is isotope-child&lt;br /&gt;
else $isotopeFilterClass = &amp;quot;home&amp;quot;;// for all other templates we want to show content imediately (home class inits first isotope element)&lt;br /&gt;
$myIcon = &amp;quot;&amp;quot;;&lt;br /&gt;
$myIconMarkup = &amp;quot;&amp;quot;;&lt;br /&gt;
$iconWidth = 80;&lt;br /&gt;
&lt;br /&gt;
if($page-&amp;gt;iso_elem_icon){&lt;br /&gt;
  $myIcon = $page-&amp;gt;iso_elem_icon-&amp;gt;width($iconWidth);&lt;br /&gt;
  $myIconMarkup = &amp;#039;&amp;lt;div class=&amp;quot;element-big-content-ico&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;&amp;#039;.$myIcon-&amp;gt;url.&amp;#039;&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
ob_start();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ======== Element:  &amp;lt;?=$isotopeFilterClass?&amp;gt; Content Box ======== --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;element element-content element-project-description &amp;lt;?=$isotopeFilterClass?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;element-wrapper&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?= $myIconMarkup ?&amp;gt;&lt;br /&gt;
    &amp;lt;h2 class=&amp;quot;element-big-content-title&amp;quot;&amp;gt;&amp;lt;?= $page-&amp;gt;iso_elem_title ?&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;?= $page-&amp;gt;iso_elem_content ?&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- ======== / Element ======== --&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$out = ob_get_contents();&lt;br /&gt;
ob_end_clean();&lt;br /&gt;
&lt;br /&gt;
return $out;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Dateiliste mit Größenauswahl ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
// Big Content Box&lt;br /&gt;
$out = &amp;#039;&amp;#039;;&lt;br /&gt;
//$out .= $page-&amp;gt;iso_elem_title;&lt;br /&gt;
$templateName = $page-&amp;gt;getForPage()-&amp;gt;template-&amp;gt;name;&lt;br /&gt;
if($templateName == &amp;quot;isotope-child&amp;quot;) $isotopeFilterClass = $page-&amp;gt;getForpage()-&amp;gt;name;// class if template is isotope-child&lt;br /&gt;
else $isotopeFilterClass = &amp;quot;home&amp;quot;;// for all other templates we want to show content imediately (home class inits first isotope element)&lt;br /&gt;
$myIcon = &amp;quot;&amp;quot;;&lt;br /&gt;
$myIconMarkup = &amp;quot;&amp;quot;;&lt;br /&gt;
$iconWidth = 80;&lt;br /&gt;
$sizeClass = &amp;quot;&amp;quot;;&lt;br /&gt;
// content box color&lt;br /&gt;
$bgColorClass = &amp;#039;bgColor3&amp;#039;; // default color (dark)&lt;br /&gt;
switch ($page-&amp;gt;bg_color) {&lt;br /&gt;
  case &amp;#039;1&amp;#039;: //  hellgrau&lt;br /&gt;
    $bgColorClass=&amp;#039;bgColor3&amp;#039;;&lt;br /&gt;
    break;&lt;br /&gt;
  default:&lt;br /&gt;
    $bgColorClass=&amp;#039;bgColor4&amp;#039;;&lt;br /&gt;
    break;&lt;br /&gt;
}&lt;br /&gt;
// Element Size&lt;br /&gt;
switch ($page-&amp;gt;iso_elem_size) {&lt;br /&gt;
  case &amp;#039;1&amp;#039;: // small&lt;br /&gt;
    $sizeClass = &amp;quot;size-s&amp;quot;;&lt;br /&gt;
    $aspectClass = &amp;quot;a-1-1&amp;quot;;&lt;br /&gt;
    $imgW = 400; //image width&lt;br /&gt;
    $icoW = 200; //icon width&lt;br /&gt;
    break;&lt;br /&gt;
  case &amp;#039;2&amp;#039;: // medium&lt;br /&gt;
    $sizeClass = &amp;quot;size-m&amp;quot;;&lt;br /&gt;
    $aspectClass = &amp;quot;a-2-1&amp;quot;;&lt;br /&gt;
    $imgW = 800;&lt;br /&gt;
    $icoW = 200;&lt;br /&gt;
    break;&lt;br /&gt;
  case &amp;#039;4&amp;#039;: // medium&lt;br /&gt;
    $sizeClass = &amp;quot;size-s&amp;quot;;&lt;br /&gt;
    $aspectClass = &amp;quot;a-1-2&amp;quot;;&lt;br /&gt;
    $imgW = 400;&lt;br /&gt;
    $icoW = 200;&lt;br /&gt;
      break;&lt;br /&gt;
  default: // big&lt;br /&gt;
    $sizeClass = &amp;quot;size-m&amp;quot;;&lt;br /&gt;
    $aspectClass = &amp;quot;a-1-1&amp;quot;;&lt;br /&gt;
    $imgW = 800;&lt;br /&gt;
    $icoW = 200;&lt;br /&gt;
    break;&lt;br /&gt;
}&lt;br /&gt;
if($page-&amp;gt;iso_elem_freeAspect){$aspectClass = &amp;quot;a-no&amp;quot;;}&lt;br /&gt;
if($page-&amp;gt;iso_elem_icon){&lt;br /&gt;
  $myIcon = $page-&amp;gt;iso_elem_icon-&amp;gt;width($iconWidth);&lt;br /&gt;
  $myIconMarkup = &amp;#039;&amp;lt;div class=&amp;quot;element-big-content-ico&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;&amp;#039;.$myIcon-&amp;gt;url.&amp;#039;&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
ob_start();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ======== Element: &amp;lt;?=$isotopeFilterClass?&amp;gt; Content Box ======== --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;element element-content content-box &amp;lt;?=$sizeClass?&amp;gt; &amp;lt;?=$isotopeFilterClass?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;aspect-wrapper &amp;lt;?=$aspectClass?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div class=&amp;quot;element-wrapper stretch scrollbox transition &amp;lt;?=$bgColorClass?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;?= $myIconMarkup ?&amp;gt;&lt;br /&gt;
        &amp;lt;h2 class=&amp;quot;&amp;quot;&amp;gt;&amp;lt;?= $page-&amp;gt;iso_elem_title ?&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;?php&lt;br /&gt;
        foreach($page-&amp;gt;pdf_files as $item){&lt;br /&gt;
          echo &amp;#039;&amp;lt;div class=&amp;quot;pdf_link file&amp;quot; style=&amp;quot;padding-bottom: 0.5em;&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;&amp;#039;.$item-&amp;gt;url.&amp;#039;&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;&amp;quot;&amp;gt;&amp;#039;.$item-&amp;gt;description.&amp;#039;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
        }&lt;br /&gt;
        ?&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- ======== / Element ======== --&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$out = ob_get_contents();&lt;br /&gt;
ob_end_clean();&lt;br /&gt;
&lt;br /&gt;
return $out;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Probleme beheben ===&lt;br /&gt;
==== Vegas Slider und AJAX Page Wechsel ====&lt;br /&gt;
Todo siehe MVZ Seite&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_TimeTable_(Layoutblock_uikit)&amp;diff=23347</id>
		<title>ProcessWire - TimeTable (Layoutblock uikit)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_TimeTable_(Layoutblock_uikit)&amp;diff=23347"/>
		<updated>2018-10-06T16:33:03Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: Die Seite wurde neu angelegt: „Responsiver Wochenplan für Namaste Yoga (10/2018)  Klassen sind für uikit 3 ausgelegt. &amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt; &amp;lt;?php namespace ProcessWire; /* Timetable…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Responsiver Wochenplan für Namaste Yoga (10/2018)&lt;br /&gt;
&lt;br /&gt;
Klassen sind für uikit 3 ausgelegt.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
/* Timetable Field v0.1 */&lt;br /&gt;
// Init&lt;br /&gt;
$content = &amp;#039;&amp;#039;;&lt;br /&gt;
$sectionClasses = array(&amp;#039;uk-section&amp;#039;);&lt;br /&gt;
$sectionStyles = array();&lt;br /&gt;
$sectionClassesMarkup = &amp;#039;&amp;#039;;&lt;br /&gt;
$sectionStylesMarkup = &amp;#039;&amp;#039;;&lt;br /&gt;
$containerClasses = array(&amp;#039;uk-container&amp;#039;); // content container not box-container&lt;br /&gt;
$containerClassesMarkup = &amp;#039;&amp;#039;;&lt;br /&gt;
$gridClasses = array();&lt;br /&gt;
$colClasses = array();&lt;br /&gt;
// fill column array&lt;br /&gt;
&lt;br /&gt;
//$colName = array(&amp;#039;Montag&amp;#039;,&amp;#039;Dienstag&amp;#039;,&amp;#039;Mittwoch&amp;#039;,&amp;#039;Donnerstag&amp;#039;,&amp;#039;Freitag&amp;#039;,&amp;#039;Samstag&amp;#039;,&amp;#039;Sonntag&amp;#039;); // dayvalue-&amp;gt;item...&lt;br /&gt;
$colName = array();&lt;br /&gt;
$timetable = array();&lt;br /&gt;
&lt;br /&gt;
// Section Classes&lt;br /&gt;
if($page-&amp;gt;section_style) $sectionClasses[] = $page-&amp;gt;section_style-&amp;gt;value;&lt;br /&gt;
if($page-&amp;gt;section_size) $sectionClasses[] = $page-&amp;gt;section_size-&amp;gt;value;&lt;br /&gt;
if($page-&amp;gt;no_space_top) $sectionClasses[] = &amp;quot;uk-padding-remove-top&amp;quot;;&lt;br /&gt;
if($page-&amp;gt;no_space_bottom) $sectionClasses[] = &amp;quot;uk-padding-remove-bottom&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Inner Container Classes&lt;br /&gt;
if($page-&amp;gt;uk_container_size) $containerClasses[] = $page-&amp;gt;uk_container_size-&amp;gt;value;&lt;br /&gt;
&lt;br /&gt;
// BOXED SECTION (OUTER CONTAINER)&lt;br /&gt;
if($page-&amp;gt;section_boxed){&lt;br /&gt;
	// add outer container&lt;br /&gt;
	$outerWrap = &amp;#039;&amp;lt;div class=&amp;quot;uk-container&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
	$gridClasses[] = &amp;#039;uk-margin-remove&amp;#039;;&lt;br /&gt;
	$colClasses[] = &amp;#039;uk-padding&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// FIXED WIDTH&lt;br /&gt;
$page-&amp;gt;fixed_width ? $outerWrap = &amp;#039;&amp;lt;div class=&amp;quot;&amp;#039;.$page-&amp;gt;fixed_width-&amp;gt;value.&amp;#039;&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&amp;#039; : $outerWrap = &amp;#039;|&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// CONTENT&lt;br /&gt;
// get colnames from field &amp;#039;day&amp;#039; todo get name automatically&lt;br /&gt;
foreach( explode(&amp;quot;\n&amp;quot;,$fields-&amp;gt;get(&amp;#039;t_timetable&amp;#039;)-&amp;gt;data[&amp;#039;col4options&amp;#039;]) as $line ){&lt;br /&gt;
	if(!strpos($line, &amp;#039;=&amp;#039;)) continue;&lt;br /&gt;
	list($property, $setting) = explode(&amp;#039;=&amp;#039;, $line, 2);&lt;br /&gt;
	$colName[trim($property)] = trim($setting);&lt;br /&gt;
}&lt;br /&gt;
//var_dump($colName);&lt;br /&gt;
&lt;br /&gt;
// Copy Items in array&lt;br /&gt;
foreach($page-&amp;gt;t_timetable as $item){ // each item is a course&lt;br /&gt;
	$timetable[$colName[intval($item-&amp;gt;day)]][] = $item;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//var_dump($timetable);&lt;br /&gt;
$c = 0;&lt;br /&gt;
foreach($timetable as $key=&amp;gt;$val){ // each day&lt;br /&gt;
	$itemsMarkup = &amp;#039;&amp;#039;;&lt;br /&gt;
	//var_dump($key);&lt;br /&gt;
	$dayMarkup = &amp;#039;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;uk-tile uk-tile-secondary uk-padding-small uk-margin-small uk-text-center&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;h4 class=&amp;quot;h-&amp;#039;.$key.&amp;#039;&amp;quot;&amp;gt;&amp;#039;.$key.&amp;#039;&amp;lt;/h4&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;#039;;&lt;br /&gt;
	foreach($val as $item){&lt;br /&gt;
		//var_dump($item);&lt;br /&gt;
		$timeMarkup = &amp;#039;&amp;#039;;&lt;br /&gt;
		$timeWrap = &amp;#039;&amp;lt;p class=&amp;quot;uk-margin-remove-top&amp;quot;&amp;gt;&amp;lt;i&amp;gt;|&amp;lt;/i&amp;gt;&amp;lt;/p&amp;gt;&amp;#039;;&lt;br /&gt;
		if ($item-&amp;gt;time) $timeMarkup .= $item-&amp;gt;time;&lt;br /&gt;
		if ($item-&amp;gt;time_end) $timeMarkup .= &amp;#039; -&amp;#039;.$item-&amp;gt;time_end;&lt;br /&gt;
		if (!empty($timeMarkup)) $timeMarkup = wrap($timeMarkup,$timeWrap);&lt;br /&gt;
		$description = wrap(nl2br($item-&amp;gt;description),&amp;#039;&amp;lt;div class=&amp;quot;description&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&amp;#039;);&lt;br /&gt;
		$info = wrap(nl2br($item-&amp;gt;info),&amp;#039;&amp;lt;div class=&amp;quot;info&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&amp;#039;);&lt;br /&gt;
		$itemsMarkup .= &amp;#039;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;uk-tile uk-tile-primary uk-padding-small uk-margin-small uk-text-center&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;h4 class=&amp;quot;uk-margin-remove-bottom&amp;quot;&amp;gt;&amp;#039;.$item-&amp;gt;title.&amp;#039;&amp;lt;/h4&amp;gt;&lt;br /&gt;
			&amp;#039;.$timeMarkup.&amp;#039;&lt;br /&gt;
			&amp;#039;.$description.&amp;#039;&lt;br /&gt;
			&amp;#039;.$info.&amp;#039;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$itemsMarkup = $dayMarkup.$itemsMarkup;&lt;br /&gt;
	$itemsMarkup = wrap($itemsMarkup,&amp;#039;&amp;lt;td class=&amp;quot;col-&amp;#039;.$c.&amp;#039;&amp;quot;&amp;gt;|&amp;lt;/td&amp;gt;&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
	$content .= $itemsMarkup;&lt;br /&gt;
	$c++;&lt;br /&gt;
}&lt;br /&gt;
	//var_dump($content);&lt;br /&gt;
$content = wrap($content,&amp;#039;&amp;lt;div class=&amp;quot;uk-overflow-auto&amp;quot;&amp;gt;&amp;lt;table class=&amp;quot;timetable uk-table uk-table-small uk-table-responsive uk-table-justify&amp;quot;&amp;gt;&amp;lt;tbody&amp;gt;&amp;lt;tr&amp;gt;|&amp;lt;/tbody&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
// CREATE MARKUP&lt;br /&gt;
$sectionClassesMarkup = implode(&amp;#039; &amp;#039;,$sectionClasses);&lt;br /&gt;
$sectionStylesMarkup = implode(&amp;#039; &amp;#039;,$sectionStyles);&lt;br /&gt;
$containerClassesMarkup = implode(&amp;#039; &amp;#039;,$containerClasses);&lt;br /&gt;
$gridClasses[] = &amp;#039;uk-grid&amp;#039;;&lt;br /&gt;
$gridClassesMarkup = implode(&amp;#039; &amp;#039;,$gridClasses);&lt;br /&gt;
&lt;br /&gt;
$colClasses[] = &amp;#039;uk-width-1-1&amp;#039;;&lt;br /&gt;
$colClassesMarkup = implode(&amp;#039; &amp;#039;,$colClasses);&lt;br /&gt;
&lt;br /&gt;
// Put things together&lt;br /&gt;
$content = wrap($content,$outerWrap);&lt;br /&gt;
$out = &amp;#039;&amp;#039;;&lt;br /&gt;
$out .= &amp;quot;&lt;br /&gt;
&amp;lt;div class=\&amp;quot;$sectionClassesMarkup\&amp;quot; style=\&amp;quot;$sectionStylesMarkup\&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;div class=\&amp;quot;$containerClassesMarkup\&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;div class=\&amp;quot;$gridClassesMarkup\&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;div class=\&amp;quot;$colClassesMarkup\&amp;quot;&amp;gt;&lt;br /&gt;
				$content&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$out = wrap($out,$outerWrap);&lt;br /&gt;
&lt;br /&gt;
return $out;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Layout_Bl%C3%B6cke_mit_RepeaterMatrix&amp;diff=23346</id>
		<title>ProcessWire - Layout Blöcke mit RepeaterMatrix</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Layout_Bl%C3%B6cke_mit_RepeaterMatrix&amp;diff=23346"/>
		<updated>2018-10-06T16:31:40Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Beispiele für Layout Blöcke */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit einer RepeaterMatrix, kann man Einzelfelder zu Gruppen zusammenfassen um z.B. verschiedene Layoutblöcke zu definieren. Diese Gruppen kann man wiederholt nutzen. Im Gegensatz zum Repeater Feld können nicht nur gleichartige Felder wiederholt werden. Der Benutzer kann alle in der Matrix definierten Gruppen auswählen.&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
* ProFields: Repeater Matrix installieren &lt;br /&gt;
* Ein RepeaterMatrix Feld definieren und dort dann die Gestaltungsblöcke definieren.&lt;br /&gt;
 Repeater Matrix Feld: layout_blocks&lt;br /&gt;
* Partial zum späteren Inkludieren erstellen&lt;br /&gt;
 z.B. partials/layout_blocks.inc&lt;br /&gt;
* Partial im Template inkludieren&lt;br /&gt;
* Felder definieren die man später in den Layoutblöcken nutzen möchte -&amp;gt; gut benennen&lt;br /&gt;
* Skripte für die Gestaltungsblöcke anlegen&lt;br /&gt;
 fields/layout_blocks/accordion.php&lt;br /&gt;
 fields/layout_blocks/headline.php&lt;br /&gt;
* Eventuell benötigte Skripte einbinden. Bei AJAX Seitenwechseln kann es notwendig sein neu zu initialisieren.&lt;br /&gt;
&lt;br /&gt;
== Dateien ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;partials/layout_blocks.inc (Version 1)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wird die Renderfunktion der RepeaterMatrix aufgerufen, sucht ProcessWire automatisch in fields/repeater_matrix_feldname/item_name.php nach dem Rendering. Es muß einfach &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
/* Shows layout blocks&lt;br /&gt;
 * uses repeater Matrix field&lt;br /&gt;
 * uses standard render function which looks after templates/fields/matrix_field_name/child_field_name.php for returning markup&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
function renderLayoutBlocks($page){&lt;br /&gt;
  $out = &amp;#039;&amp;#039;;&lt;br /&gt;
  foreach($page-&amp;gt;layout_blocks as $item) {&lt;br /&gt;
    switch ($item-&amp;gt;type) {&lt;br /&gt;
      case &amp;#039;headline&amp;#039;:&lt;br /&gt;
        $out .= $item-&amp;gt;render(); // looks for templates/fields/layout_blocks_matrix/headline.php&lt;br /&gt;
        break;&lt;br /&gt;
      case &amp;#039;content&amp;#039;:&lt;br /&gt;
        $out .= &amp;#039;&amp;lt;section&amp;gt;&amp;#039;.$item-&amp;gt;body.&amp;#039;&amp;lt;/section&amp;gt;&amp;#039;;&lt;br /&gt;
        break;&lt;br /&gt;
      case &amp;#039;responsive_image&amp;#039;:&lt;br /&gt;
        $out .= $item-&amp;gt;render();&lt;br /&gt;
        break;&lt;br /&gt;
      case &amp;#039;accordion&amp;#039;:&lt;br /&gt;
        $out .= $item-&amp;gt;render(); // looks for templates/fields/layout_blocks/accordion.php&lt;br /&gt;
        break;&lt;br /&gt;
      default:&lt;br /&gt;
        $out .= &amp;#039;&amp;lt;div class=&amp;quot;message&amp;quot;&amp;gt;Keine Renderdefinition gefunden für den Typ: &amp;#039;.$item-&amp;gt;type.&amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
        break;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return $out;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Template einbindung z.b. layout_blocks.php ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
include(&amp;quot;./partials/layout_blocks.inc&amp;quot;);&lt;br /&gt;
$layoutBlocks = renderLayoutBlocks($page);&lt;br /&gt;
$content = $layoutBlocks;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== partials/layout_blocks.inc (Kurzversion) ===&lt;br /&gt;
Integriert die layout_blocks.inc ins Template und verkürzt diese. Vorteil: übersichtlich. Nachteil: nicht so schön zu debuggen. Muß noch getestet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
/* Shows layout blocks&lt;br /&gt;
 * uses repeater Matrix field&lt;br /&gt;
 * uses standard render function which looks after templates/fields/matrix_field_name/child_field_name.php for returning markup&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
function renderLayoutBlocks($page){&lt;br /&gt;
  $out = &amp;#039;&amp;#039;;&lt;br /&gt;
  foreach($page-&amp;gt;layout_blocks_matrix as $item) {&lt;br /&gt;
    $out .= $item-&amp;gt;render(); // looks for templates/fields/layout_blocks_matrix/itemTypeName.php&lt;br /&gt;
  }&lt;br /&gt;
  return $out;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beispiele für Layout Blöcke ===&lt;br /&gt;
 [[ProcessWire - TimeTable (Layoutblock uikit)]]&lt;br /&gt;
 [[ProcessWire - stickyFlags (Layoutblock uikit)]]&lt;br /&gt;
==== Accordion (Bootstrap) ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;fields/layout_blocks/accordion.php (Bootstrap Accordion Style)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
  /*&lt;br /&gt;
   * Accordion Bootstrap Style&lt;br /&gt;
   * Used fields: &lt;br /&gt;
   * accordion_repeater (repeater field)&lt;br /&gt;
   * accordion_headline&lt;br /&gt;
   * accordion_content&lt;br /&gt;
   */&lt;br /&gt;
&lt;br /&gt;
  $markup = &amp;#039;&amp;lt;div class=&amp;quot;panel-group accordion&amp;quot; id=&amp;quot;accordion-&amp;#039;.$page-&amp;gt;id.&amp;#039;&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
	//return &amp;quot;render function Accordion class&amp;quot;;&lt;br /&gt;
  //$firstClass = &amp;#039;in&amp;#039;; // used for first panel&lt;br /&gt;
  $firstClass = &amp;#039;&amp;#039;;&lt;br /&gt;
  foreach($page-&amp;gt;accordion_repeater as $panel){&lt;br /&gt;
    $markup .= &amp;#039;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;panel panel-default&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div class=&amp;quot;panel-heading&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;h4 class=&amp;quot;panel-title&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;a class=&amp;quot;collapsed&amp;quot; data-toggle=&amp;quot;collapse&amp;quot; data-parent=&amp;quot;#accordion-&amp;#039;.$page-&amp;gt;id.&amp;#039;&amp;quot; href=&amp;quot;#collapse&amp;#039;.$panel-&amp;gt;id.&amp;#039;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
            .$panel-&amp;gt;accordion_headline.&amp;#039;&lt;br /&gt;
          &amp;lt;/a&amp;gt;&lt;br /&gt;
        &amp;lt;/h4&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;collapse&amp;#039;.$panel-&amp;gt;id.&amp;#039;&amp;quot; class=&amp;quot;panel-collapse collapse &amp;#039;.$firstClass.&amp;#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;panel-body&amp;quot;&amp;gt;&amp;#039;.$panel-&amp;gt;accordion_content.&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
    $firstClass=&amp;#039;&amp;#039;;&lt;br /&gt;
  }&lt;br /&gt;
  $markup .= &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
  return $markup;&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Responsive Image ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
$out = &amp;#039;&amp;#039;;&lt;br /&gt;
$w = 600; // width&lt;br /&gt;
foreach($page-&amp;gt;images as $image) {&lt;br /&gt;
  $out .= &amp;#039;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;img class=&amp;quot;img-responsive&amp;quot; style=&amp;quot;width: 100%; height: auto;&amp;quot; src=&amp;quot;&amp;#039;.$image-&amp;gt;width($w)-&amp;gt;url.&amp;#039;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
return $out;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Weitere Beispiele ===&lt;br /&gt;
 [[Layout Block - portfolio_box]]&lt;br /&gt;
&lt;br /&gt;
==== Vegas Slider ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
&lt;br /&gt;
$out = &amp;#039;&amp;#039;;&lt;br /&gt;
$slides = array();&lt;br /&gt;
$width = 600; // todo -&amp;gt; make this accessible via textbox in admin&lt;br /&gt;
&lt;br /&gt;
foreach($page-&amp;gt;images as $image){&lt;br /&gt;
  $myImage = $image-&amp;gt;width($width);&lt;br /&gt;
  $slides[] = &amp;#039;{ src: &amp;quot;&amp;#039;.$myImage-&amp;gt;url.&amp;#039;&amp;quot; }&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$out = &amp;#039;&amp;lt;div class=&amp;quot;vegas&amp;quot; style=&amp;quot;height:290px;width:auto; padding-top: 12px;&amp;quot;&amp;gt; &amp;amp;nbsp; &amp;lt;/div&amp;gt;&amp;lt;!-- vegas end --&amp;gt;&amp;#039;;&lt;br /&gt;
$out .= &amp;#039;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
function initVegas(){&lt;br /&gt;
  $(&amp;quot;.vegas&amp;quot;).vegas({&lt;br /&gt;
    delay:8000,&lt;br /&gt;
    timer:false,&lt;br /&gt;
    transition: &amp;quot;fade2&amp;quot;,&lt;br /&gt;
    transitionDuration: 1500,&lt;br /&gt;
    animation: &amp;quot;random&amp;quot;,&lt;br /&gt;
    slides: [&amp;#039;.implode($slides,&amp;#039;,&amp;#039;).&amp;#039;]&lt;br /&gt;
  });&lt;br /&gt;
}&lt;br /&gt;
// use initVegas() from ajax post if loading via ajax&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
return $out;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Banner Image ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
// Banner Image&lt;br /&gt;
$out = &amp;#039;&amp;#039;;&lt;br /&gt;
$templateName = $page-&amp;gt;getForPage()-&amp;gt;template-&amp;gt;name;&lt;br /&gt;
if($templateName == &amp;quot;isotope-child&amp;quot;) $isotopeFilterClass = $page-&amp;gt;getForpage()-&amp;gt;name;// class if template is isotope-child&lt;br /&gt;
else $isotopeFilterClass = &amp;quot;home&amp;quot;;// for all other templates we want to show content imediately (home class inits first isotope element)&lt;br /&gt;
$myImage = &amp;quot;&amp;quot;;&lt;br /&gt;
$myImageMarkup = &amp;quot;&amp;quot;;&lt;br /&gt;
$imageWidth = 1244;&lt;br /&gt;
&lt;br /&gt;
if($page-&amp;gt;iso_elem_image){&lt;br /&gt;
  $myImage = $page-&amp;gt;iso_elem_image-&amp;gt;width($imageWidth);&lt;br /&gt;
  $myImageMarkup = &amp;#039;&amp;lt;img src=&amp;quot;&amp;#039;.$myImage-&amp;gt;url.&amp;#039;&amp;quot; class=&amp;quot;responsive-image&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ob_start();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;!-- ======== Element: Banner Image ======== --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;#039;element &amp;lt;?=$isotopeFilterClass?&amp;gt;&amp;#039;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;#039;element-wrapper&amp;#039;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;#039;&amp;#039; id=&amp;#039;&amp;#039;&amp;gt;&lt;br /&gt;
      &amp;lt;div class=&amp;#039;profile-picture&amp;#039; id=&amp;#039;profile-picture&amp;#039;&amp;gt;&lt;br /&gt;
        &amp;lt;?= $myImageMarkup ?&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- ======== / Element ======== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$out = ob_get_contents();&lt;br /&gt;
ob_end_clean();&lt;br /&gt;
&lt;br /&gt;
return $out;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Owl Carousel ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
&lt;br /&gt;
$out = &amp;#039;&amp;#039;;&lt;br /&gt;
$slides = &amp;#039;&amp;#039;;&lt;br /&gt;
$width = 1280; // todo -&amp;gt; make this accessible via textbox in admin&lt;br /&gt;
&lt;br /&gt;
foreach($page-&amp;gt;images as $image){&lt;br /&gt;
  $myImage = $image-&amp;gt;width($width);&lt;br /&gt;
  $items .= &amp;#039;&amp;lt;!-- item --&amp;gt; &amp;lt;div class=&amp;quot;project-single-carousel-item&amp;quot;&amp;gt; &amp;lt;img src=&amp;quot;&amp;#039;.$myImage-&amp;gt;url.&amp;#039;&amp;quot; alt=&amp;quot;&amp;quot;/&amp;gt; &amp;lt;/div&amp;gt;&amp;lt;!-- item end --&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$out = &amp;#039;&lt;br /&gt;
&amp;lt;!-- Carousel --&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;project-single-carousel&amp;quot; class=&amp;quot;project-single-carousel owl-carousel&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;#039;.$items.&amp;#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- Carousel end --&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
$out .= &amp;#039;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
// additional JS if nessecary&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
return $out;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Content Box mit Icon ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
// Big Content Box&lt;br /&gt;
$out = &amp;#039;&amp;#039;;&lt;br /&gt;
//$out .= $page-&amp;gt;iso_elem_title;&lt;br /&gt;
$templateName = $page-&amp;gt;getForPage()-&amp;gt;template-&amp;gt;name;&lt;br /&gt;
if($templateName == &amp;quot;isotope-child&amp;quot;) $isotopeFilterClass = $page-&amp;gt;getForpage()-&amp;gt;name;// class if template is isotope-child&lt;br /&gt;
else $isotopeFilterClass = &amp;quot;home&amp;quot;;// for all other templates we want to show content imediately (home class inits first isotope element)&lt;br /&gt;
$myIcon = &amp;quot;&amp;quot;;&lt;br /&gt;
$myIconMarkup = &amp;quot;&amp;quot;;&lt;br /&gt;
$iconWidth = 80;&lt;br /&gt;
&lt;br /&gt;
if($page-&amp;gt;iso_elem_icon){&lt;br /&gt;
  $myIcon = $page-&amp;gt;iso_elem_icon-&amp;gt;width($iconWidth);&lt;br /&gt;
  $myIconMarkup = &amp;#039;&amp;lt;div class=&amp;quot;element-big-content-ico&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;&amp;#039;.$myIcon-&amp;gt;url.&amp;#039;&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
ob_start();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ======== Element:  &amp;lt;?=$isotopeFilterClass?&amp;gt; Content Box ======== --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;element element-content element-project-description &amp;lt;?=$isotopeFilterClass?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;element-wrapper&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?= $myIconMarkup ?&amp;gt;&lt;br /&gt;
    &amp;lt;h2 class=&amp;quot;element-big-content-title&amp;quot;&amp;gt;&amp;lt;?= $page-&amp;gt;iso_elem_title ?&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;?= $page-&amp;gt;iso_elem_content ?&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- ======== / Element ======== --&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$out = ob_get_contents();&lt;br /&gt;
ob_end_clean();&lt;br /&gt;
&lt;br /&gt;
return $out;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Dateiliste mit Größenauswahl ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php namespace ProcessWire;&lt;br /&gt;
// Big Content Box&lt;br /&gt;
$out = &amp;#039;&amp;#039;;&lt;br /&gt;
//$out .= $page-&amp;gt;iso_elem_title;&lt;br /&gt;
$templateName = $page-&amp;gt;getForPage()-&amp;gt;template-&amp;gt;name;&lt;br /&gt;
if($templateName == &amp;quot;isotope-child&amp;quot;) $isotopeFilterClass = $page-&amp;gt;getForpage()-&amp;gt;name;// class if template is isotope-child&lt;br /&gt;
else $isotopeFilterClass = &amp;quot;home&amp;quot;;// for all other templates we want to show content imediately (home class inits first isotope element)&lt;br /&gt;
$myIcon = &amp;quot;&amp;quot;;&lt;br /&gt;
$myIconMarkup = &amp;quot;&amp;quot;;&lt;br /&gt;
$iconWidth = 80;&lt;br /&gt;
$sizeClass = &amp;quot;&amp;quot;;&lt;br /&gt;
// content box color&lt;br /&gt;
$bgColorClass = &amp;#039;bgColor3&amp;#039;; // default color (dark)&lt;br /&gt;
switch ($page-&amp;gt;bg_color) {&lt;br /&gt;
  case &amp;#039;1&amp;#039;: //  hellgrau&lt;br /&gt;
    $bgColorClass=&amp;#039;bgColor3&amp;#039;;&lt;br /&gt;
    break;&lt;br /&gt;
  default:&lt;br /&gt;
    $bgColorClass=&amp;#039;bgColor4&amp;#039;;&lt;br /&gt;
    break;&lt;br /&gt;
}&lt;br /&gt;
// Element Size&lt;br /&gt;
switch ($page-&amp;gt;iso_elem_size) {&lt;br /&gt;
  case &amp;#039;1&amp;#039;: // small&lt;br /&gt;
    $sizeClass = &amp;quot;size-s&amp;quot;;&lt;br /&gt;
    $aspectClass = &amp;quot;a-1-1&amp;quot;;&lt;br /&gt;
    $imgW = 400; //image width&lt;br /&gt;
    $icoW = 200; //icon width&lt;br /&gt;
    break;&lt;br /&gt;
  case &amp;#039;2&amp;#039;: // medium&lt;br /&gt;
    $sizeClass = &amp;quot;size-m&amp;quot;;&lt;br /&gt;
    $aspectClass = &amp;quot;a-2-1&amp;quot;;&lt;br /&gt;
    $imgW = 800;&lt;br /&gt;
    $icoW = 200;&lt;br /&gt;
    break;&lt;br /&gt;
  case &amp;#039;4&amp;#039;: // medium&lt;br /&gt;
    $sizeClass = &amp;quot;size-s&amp;quot;;&lt;br /&gt;
    $aspectClass = &amp;quot;a-1-2&amp;quot;;&lt;br /&gt;
    $imgW = 400;&lt;br /&gt;
    $icoW = 200;&lt;br /&gt;
      break;&lt;br /&gt;
  default: // big&lt;br /&gt;
    $sizeClass = &amp;quot;size-m&amp;quot;;&lt;br /&gt;
    $aspectClass = &amp;quot;a-1-1&amp;quot;;&lt;br /&gt;
    $imgW = 800;&lt;br /&gt;
    $icoW = 200;&lt;br /&gt;
    break;&lt;br /&gt;
}&lt;br /&gt;
if($page-&amp;gt;iso_elem_freeAspect){$aspectClass = &amp;quot;a-no&amp;quot;;}&lt;br /&gt;
if($page-&amp;gt;iso_elem_icon){&lt;br /&gt;
  $myIcon = $page-&amp;gt;iso_elem_icon-&amp;gt;width($iconWidth);&lt;br /&gt;
  $myIconMarkup = &amp;#039;&amp;lt;div class=&amp;quot;element-big-content-ico&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;&amp;#039;.$myIcon-&amp;gt;url.&amp;#039;&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
ob_start();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ======== Element: &amp;lt;?=$isotopeFilterClass?&amp;gt; Content Box ======== --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;element element-content content-box &amp;lt;?=$sizeClass?&amp;gt; &amp;lt;?=$isotopeFilterClass?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;aspect-wrapper &amp;lt;?=$aspectClass?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div class=&amp;quot;element-wrapper stretch scrollbox transition &amp;lt;?=$bgColorClass?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;?= $myIconMarkup ?&amp;gt;&lt;br /&gt;
        &amp;lt;h2 class=&amp;quot;&amp;quot;&amp;gt;&amp;lt;?= $page-&amp;gt;iso_elem_title ?&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
        &amp;lt;?php&lt;br /&gt;
        foreach($page-&amp;gt;pdf_files as $item){&lt;br /&gt;
          echo &amp;#039;&amp;lt;div class=&amp;quot;pdf_link file&amp;quot; style=&amp;quot;padding-bottom: 0.5em;&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;&amp;#039;.$item-&amp;gt;url.&amp;#039;&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;&amp;quot;&amp;gt;&amp;#039;.$item-&amp;gt;description.&amp;#039;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
        }&lt;br /&gt;
        ?&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- ======== / Element ======== --&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$out = ob_get_contents();&lt;br /&gt;
ob_end_clean();&lt;br /&gt;
&lt;br /&gt;
return $out;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Probleme beheben ===&lt;br /&gt;
==== Vegas Slider und AJAX Page Wechsel ====&lt;br /&gt;
Todo siehe MVZ Seite&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23345</id>
		<title>Processwire - Leaflet Map Marker Modul</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23345"/>
		<updated>2018-10-06T16:16:55Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Multiple Markers Beispiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Siehe auch ==&lt;br /&gt;
 https://processwire.com/talk/topic/9745-module-leaflet-map/?page=5 (Forum)&lt;br /&gt;
 https://github.com/gmclelland/FieldtypeLeafletMapMarker/blob/PW3/InputfieldLeafletMapMarker.module (Fork)&lt;br /&gt;
 https://leafletjs.com/ (Leaflet Hauptseite)&lt;br /&gt;
 https://leaflet-extras.github.io/leaflet-providers/preview/index.html (Karten Provider)&lt;br /&gt;
 https://github.com/Leaflet/Leaflet.markercluster (Doku für Cluster Modul)&lt;br /&gt;
== Überblick ==&lt;br /&gt;
Wird aus Zeitgründen vom Entwickler nicht sehr aktiv weitergepflegt. Allerdings gibt es ordentlichen Support im Forum und ein paar Forks auf Github.&lt;br /&gt;
&lt;br /&gt;
Man kann für spezielle Anforderungen auch nur das Feld im Backend nutzen und Leaflet im Frontend selbst aufsetzen bzw. eigene Skripte nutzen. Das JavaScript für die Frontendausgabe im Modul findet man in:&lt;br /&gt;
 MarkupLeafletMap.js (JavaScript für Frontend-Ausgabe)&lt;br /&gt;
 MarkupLeafletMap.module (Inline JS für Frontend ) &lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
* Benötigt die Konfiguration von &amp;#039;&amp;#039;&amp;#039;$additionalHeaderData&amp;#039;&amp;#039;&amp;#039;. Das ist einfach ein String der in &amp;#039;&amp;#039;_init.php&amp;#039;&amp;#039; angelegt und im &amp;#039;&amp;#039;Header eingebunden&amp;#039;&amp;#039; wird. Damit lassen sich Zusätzliche Daten per Template rendern. &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Feldname&amp;#039;&amp;#039;&amp;#039; im Backend ist hier &amp;#039;&amp;#039;&amp;#039;map_leaflet&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Achtung Bug (V2.8.1): Immer den Geocoder auf der Seite benutzen. Die Standarddaten aus der Feldkonfiguration werden nicht richtig übernommen (Adressfeld) und es gibt Ausgabefehler.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
$mapMarkup = $map-&amp;gt;render($page, &amp;#039;map_leaflet ,array(&amp;#039;markerColour&amp;#039; =&amp;gt; &amp;#039;green&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;content_bottom&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Button GM --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Lange+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Map --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;col span_12&amp;quot;&amp;gt;&amp;#039;.$mapMarkup.&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Daten manuell auslesen und verarbeiten ==&lt;br /&gt;
Einfaches Beispiel das auch bei AJAX Seiten funktioniert und einen Button zur Google Maps Wegbeschreibung enthält.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// If AJAX put this in _init.php else uncomment next two lines&lt;br /&gt;
// $map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
// $additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
$myAdress = $page-&amp;gt;map_leaflet-&amp;gt;address;	// outputs the address you entered&lt;br /&gt;
$myLat = $page-&amp;gt;map_leaflet-&amp;gt;lat; 		// outputs the latitude&lt;br /&gt;
$myLng = $page-&amp;gt;map_leaflet-&amp;gt;lng; 		// outputs the longitude&lt;br /&gt;
$myZoom = $page-&amp;gt;map_leaflet-&amp;gt;zoom;		// outputs the zoom level&lt;br /&gt;
&lt;br /&gt;
$mapMarkup = &amp;quot;&lt;br /&gt;
&amp;lt;div id=&amp;#039;mleafletmap1&amp;#039;style=&amp;#039;height:400px;&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
var mleafletmap1 = new jsMarkupLeafletMap();&lt;br /&gt;
 mleafletmap1.setOption(&amp;#039;zoom&amp;#039;, $myZoom);&lt;br /&gt;
  mleafletmap1.init(&amp;#039;mleafletmap1&amp;#039;, $myLat, $myLng, &amp;#039;OpenStreetMap.Mapnik&amp;#039;);&lt;br /&gt;
  var default_marker_icon = L.AwesomeMarkers.icon({ icon: &amp;#039;home&amp;#039;, iconColor: &amp;#039;white&amp;#039;, prefix: &amp;#039;fa&amp;#039;, markerColor: &amp;#039;darkblue&amp;#039; });&lt;br /&gt;
  mleafletmap1.addMarkerIcon(default_marker_icon, $myLat, $myLng, &amp;#039;/kontakt/&amp;#039;, &amp;#039;Kontakt&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Meine+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;col-sm-12&amp;quot; style=&amp;quot;height:400px;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
    .$mapMarkup.&amp;#039;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Multiple Markers Beispiel ===&lt;br /&gt;
Es sollen Orte (LeafletMapMarker) von Unterseiten geholt werden und aus diesen eine Map mit mehreren Markern generiert werden. Viele Marker auf engem Raum werden geclustert.&lt;br /&gt;
&lt;br /&gt;
Voraussetzungen im Beispiel&lt;br /&gt;
* die Kindseiten werden über ihr template selektiert. Im Beispiel wird das durch ein Textfeld im Parent Template festgelegt (Feldname template_title)&lt;br /&gt;
* der Leaflet code wird nur bei Bedarf geladen. Das geschieht über eine Switch Anweisung im Repeater&lt;br /&gt;
* Leaflet Dateien sind lokal hinterlegt (siehe js und css Anweisungen).&lt;br /&gt;
 &lt;br /&gt;
layout_blocks.php (Partial für layout Blocks)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
switch ($item-&amp;gt;type) {&lt;br /&gt;
case &amp;#039;map_leaflet&amp;#039;:&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData .= &amp;#039;&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
// Dont&amp;#039;t forget to include font awesome if not present&lt;br /&gt;
$item-&amp;gt;myMap = $map;&lt;br /&gt;
$out .= $item-&amp;gt;render();&lt;br /&gt;
break;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
repeaterMatrixField map_leaflet.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
//...&lt;br /&gt;
// map&lt;br /&gt;
&lt;br /&gt;
$options = array(&lt;br /&gt;
	&amp;quot;width&amp;quot; =&amp;gt; &amp;quot;100%&amp;quot;,&lt;br /&gt;
	&amp;quot;height&amp;quot; =&amp;gt; &amp;quot;540px&amp;quot;,&lt;br /&gt;
	&amp;quot;markerLinkField&amp;quot; =&amp;gt; &amp;quot;link&amp;quot;,&lt;br /&gt;
	&amp;quot;markerTitleField&amp;quot; =&amp;gt; &amp;quot;title&amp;quot;,&lt;br /&gt;
	&amp;#039;popupFormatter&amp;#039; =&amp;gt; function($page) {&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;h4&amp;gt;$page-&amp;gt;title&amp;lt;/h4&amp;gt;&amp;quot;;&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;p&amp;gt;$page-&amp;gt;text&amp;lt;/p&amp;gt;&amp;quot;; // ** NB: Use escaped double quotes if HTML attributes needed **&lt;br /&gt;
			if($page-&amp;gt;link != &amp;quot;#&amp;quot;) $out[] = &amp;quot;&amp;lt;p&amp;gt;&amp;lt;a href=\&amp;quot;{$page-&amp;gt;link}\&amp;quot;&amp;gt;{$page-&amp;gt;link}&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
			return implode(&amp;#039; &amp;#039;, $out);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
);&lt;br /&gt;
if( !empty($page-&amp;gt;template_title) ){&lt;br /&gt;
	$mySelector = &amp;#039;template=&amp;#039;.$page-&amp;gt;template_title;&lt;br /&gt;
	$places = $pages-&amp;gt;find($mySelector);&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($places, &amp;#039;location&amp;#039;,$options);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
else{&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($page,&amp;#039;location&amp;#039;,$options);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Leaflet Skripte lokal einbinden (keine externen Skripte laden) ===&lt;br /&gt;
Dies sind die benötigten Header Zeilen. leaflet.css und leaflet.js sollte dann entsprechend vorhanden sein. Der Rest kommat aus dem Modul Verzeichnis.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Font Awesome muß ebenfalls vorhanden sein (Bisher - September 2018, die 4er Version).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$additionalHeaderData = &amp;#039;&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scroll Zoom abschalten ===&lt;br /&gt;
In MarkupLeafletMap.js die Option hinzufügen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
this.options = {&lt;br /&gt;
        zoom: 10,&lt;br /&gt;
        center: null,&lt;br /&gt;
        scrollWheelZoom: false,&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    this._currentURL = &amp;#039;&amp;#039;;&lt;br /&gt;
    this.init = function(mapID, lat, lng, provider) {&lt;br /&gt;
        if(lat != 0) this.map = L.map(mapID, {&lt;br /&gt;
          center: [lat, lng],&lt;br /&gt;
          zoom: this.options.zoom,&lt;br /&gt;
          scrollWheelZoom: this.options.scrollWheelZoom&lt;br /&gt;
        } );&lt;br /&gt;
        L.tileLayer.provider(provider).addTo(this.map);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;#039;map&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
	var cities = new L.LayerGroup();&lt;br /&gt;
&lt;br /&gt;
	L.marker([39.61, -105.02]).bindPopup(&amp;#039;This is Littleton, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.74, -104.99]).bindPopup(&amp;#039;This is Denver, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.73, -104.8]).bindPopup(&amp;#039;This is Aurora, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.77, -105.23]).bindPopup(&amp;#039;This is Golden, CO.&amp;#039;).addTo(cities);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	var mbAttr = &amp;#039;Map data &amp;amp;copy; &amp;lt;a href=&amp;quot;http://openstreetmap.org&amp;quot;&amp;gt;OpenStreetMap&amp;lt;/a&amp;gt; contributors, &amp;#039; +&lt;br /&gt;
			&amp;#039;&amp;lt;a href=&amp;quot;http://creativecommons.org/licenses/by-sa/2.0/&amp;quot;&amp;gt;CC-BY-SA&amp;lt;/a&amp;gt;, &amp;#039; +&lt;br /&gt;
			&amp;#039;Imagery © &amp;lt;a href=&amp;quot;http://mapbox.com&amp;quot;&amp;gt;Mapbox&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
		mbUrl = &amp;#039;https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	var grayscale   = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.light&amp;#039;, attribution: mbAttr}),&lt;br /&gt;
		streets  = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.streets&amp;#039;,   attribution: mbAttr});&lt;br /&gt;
&lt;br /&gt;
	var map = L.map(&amp;#039;map&amp;#039;, {&lt;br /&gt;
		center: [39.73, -104.99],&lt;br /&gt;
		zoom: 10,&lt;br /&gt;
		layers: [grayscale, cities]&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var baseLayers = {&lt;br /&gt;
		&amp;quot;Grayscale&amp;quot;: grayscale,&lt;br /&gt;
		&amp;quot;Streets&amp;quot;: streets&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var overlays = {&lt;br /&gt;
		&amp;quot;Cities&amp;quot;: cities&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	L.control.layers(baseLayers, overlays).addTo(map);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23344</id>
		<title>Processwire - Leaflet Map Marker Modul</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23344"/>
		<updated>2018-10-06T16:14:02Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Manuell Konfigurieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Siehe auch ==&lt;br /&gt;
 https://processwire.com/talk/topic/9745-module-leaflet-map/?page=5 (Forum)&lt;br /&gt;
 https://github.com/gmclelland/FieldtypeLeafletMapMarker/blob/PW3/InputfieldLeafletMapMarker.module (Fork)&lt;br /&gt;
 https://leafletjs.com/ (Leaflet Hauptseite)&lt;br /&gt;
 https://leaflet-extras.github.io/leaflet-providers/preview/index.html (Karten Provider)&lt;br /&gt;
 https://github.com/Leaflet/Leaflet.markercluster (Doku für Cluster Modul)&lt;br /&gt;
== Überblick ==&lt;br /&gt;
Wird aus Zeitgründen vom Entwickler nicht sehr aktiv weitergepflegt. Allerdings gibt es ordentlichen Support im Forum und ein paar Forks auf Github.&lt;br /&gt;
&lt;br /&gt;
Man kann für spezielle Anforderungen auch nur das Feld im Backend nutzen und Leaflet im Frontend selbst aufsetzen bzw. eigene Skripte nutzen. Das JavaScript für die Frontendausgabe im Modul findet man in:&lt;br /&gt;
 MarkupLeafletMap.js (JavaScript für Frontend-Ausgabe)&lt;br /&gt;
 MarkupLeafletMap.module (Inline JS für Frontend ) &lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
* Benötigt die Konfiguration von &amp;#039;&amp;#039;&amp;#039;$additionalHeaderData&amp;#039;&amp;#039;&amp;#039;. Das ist einfach ein String der in &amp;#039;&amp;#039;_init.php&amp;#039;&amp;#039; angelegt und im &amp;#039;&amp;#039;Header eingebunden&amp;#039;&amp;#039; wird. Damit lassen sich Zusätzliche Daten per Template rendern. &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Feldname&amp;#039;&amp;#039;&amp;#039; im Backend ist hier &amp;#039;&amp;#039;&amp;#039;map_leaflet&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Achtung Bug (V2.8.1): Immer den Geocoder auf der Seite benutzen. Die Standarddaten aus der Feldkonfiguration werden nicht richtig übernommen (Adressfeld) und es gibt Ausgabefehler.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
$mapMarkup = $map-&amp;gt;render($page, &amp;#039;map_leaflet ,array(&amp;#039;markerColour&amp;#039; =&amp;gt; &amp;#039;green&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;content_bottom&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Button GM --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Lange+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Map --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;col span_12&amp;quot;&amp;gt;&amp;#039;.$mapMarkup.&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Daten manuell auslesen und verarbeiten ==&lt;br /&gt;
Einfaches Beispiel das auch bei AJAX Seiten funktioniert und einen Button zur Google Maps Wegbeschreibung enthält.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// If AJAX put this in _init.php else uncomment next two lines&lt;br /&gt;
// $map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
// $additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
$myAdress = $page-&amp;gt;map_leaflet-&amp;gt;address;	// outputs the address you entered&lt;br /&gt;
$myLat = $page-&amp;gt;map_leaflet-&amp;gt;lat; 		// outputs the latitude&lt;br /&gt;
$myLng = $page-&amp;gt;map_leaflet-&amp;gt;lng; 		// outputs the longitude&lt;br /&gt;
$myZoom = $page-&amp;gt;map_leaflet-&amp;gt;zoom;		// outputs the zoom level&lt;br /&gt;
&lt;br /&gt;
$mapMarkup = &amp;quot;&lt;br /&gt;
&amp;lt;div id=&amp;#039;mleafletmap1&amp;#039;style=&amp;#039;height:400px;&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
var mleafletmap1 = new jsMarkupLeafletMap();&lt;br /&gt;
 mleafletmap1.setOption(&amp;#039;zoom&amp;#039;, $myZoom);&lt;br /&gt;
  mleafletmap1.init(&amp;#039;mleafletmap1&amp;#039;, $myLat, $myLng, &amp;#039;OpenStreetMap.Mapnik&amp;#039;);&lt;br /&gt;
  var default_marker_icon = L.AwesomeMarkers.icon({ icon: &amp;#039;home&amp;#039;, iconColor: &amp;#039;white&amp;#039;, prefix: &amp;#039;fa&amp;#039;, markerColor: &amp;#039;darkblue&amp;#039; });&lt;br /&gt;
  mleafletmap1.addMarkerIcon(default_marker_icon, $myLat, $myLng, &amp;#039;/kontakt/&amp;#039;, &amp;#039;Kontakt&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Meine+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;col-sm-12&amp;quot; style=&amp;quot;height:400px;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
    .$mapMarkup.&amp;#039;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Multiple Markers Beispiel ===&lt;br /&gt;
Es sollen Orte (LeafletMapMarker) von Unterseiten geholt werden und aus diesen eine Map mit mehreren Markern generiert werden. Viele Marker auf engem Raum werden geclustert.&lt;br /&gt;
&lt;br /&gt;
Voraussetzungen im Beispiel&lt;br /&gt;
* die Kindseiten werden über ihr template selektiert. Im Beispiel wird das durch ein Textfeld im Parent Template festgelegt (Feldname template_title)&lt;br /&gt;
* der Leaflet code wird nur bei Bedarf geladen. Das geschieht über eine Switch Anweisung im Repeater&lt;br /&gt;
 &lt;br /&gt;
layout_blocks.php (Partial für layout Blocks)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
switch ($item-&amp;gt;type) {&lt;br /&gt;
	case &amp;#039;map_leaflet&amp;#039;:&lt;br /&gt;
		$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
		//$map-&amp;gt;getLeafletMapHeaderLines(false);&lt;br /&gt;
		//$additionalHeaderData .= $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
				$additionalHeaderData .= &amp;#039;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;https://unpkg.com/leaflet@1.3.4/dist/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;https://unpkg.com/leaflet@1.3.4/dist/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
				&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
				// Dont&amp;#039;t forget to include font awesome if maanual loading headerlines&lt;br /&gt;
				$item-&amp;gt;myMap = $map;&lt;br /&gt;
				$out .= $item-&amp;gt;render();&lt;br /&gt;
				break;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
repeaterMatrixField map_leaflet.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
//...&lt;br /&gt;
// map&lt;br /&gt;
&lt;br /&gt;
$options = array(&lt;br /&gt;
	&amp;quot;width&amp;quot; =&amp;gt; &amp;quot;100%&amp;quot;,&lt;br /&gt;
	&amp;quot;height&amp;quot; =&amp;gt; &amp;quot;540px&amp;quot;,&lt;br /&gt;
	&amp;quot;markerLinkField&amp;quot; =&amp;gt; &amp;quot;link&amp;quot;,&lt;br /&gt;
	&amp;quot;markerTitleField&amp;quot; =&amp;gt; &amp;quot;title&amp;quot;,&lt;br /&gt;
	&amp;#039;popupFormatter&amp;#039; =&amp;gt; function($page) {&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;h4&amp;gt;$page-&amp;gt;title&amp;lt;/h4&amp;gt;&amp;quot;;&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;p&amp;gt;$page-&amp;gt;text&amp;lt;/p&amp;gt;&amp;quot;; // ** NB: Use escaped double quotes if HTML attributes needed **&lt;br /&gt;
			if($page-&amp;gt;link != &amp;quot;#&amp;quot;) $out[] = &amp;quot;&amp;lt;p&amp;gt;&amp;lt;a href=\&amp;quot;{$page-&amp;gt;link}\&amp;quot;&amp;gt;{$page-&amp;gt;link}&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
			return implode(&amp;#039; &amp;#039;, $out);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
);&lt;br /&gt;
if( !empty($page-&amp;gt;template_title) ){&lt;br /&gt;
	$mySelector = &amp;#039;template=&amp;#039;.$page-&amp;gt;template_title;&lt;br /&gt;
	$places = $pages-&amp;gt;find($mySelector);&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($places, &amp;#039;location&amp;#039;,$options);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
else{&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($page,&amp;#039;location&amp;#039;,$options);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Leaflet Skripte lokal einbinden (keine externen Skripte laden) ===&lt;br /&gt;
Dies sind die benötigten Header Zeilen. leaflet.css und leaflet.js sollte dann entsprechend vorhanden sein. Der Rest kommat aus dem Modul Verzeichnis.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Font Awesome muß ebenfalls vorhanden sein (Bisher - September 2018, die 4er Version).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$additionalHeaderData = &amp;#039;&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scroll Zoom abschalten ===&lt;br /&gt;
In MarkupLeafletMap.js die Option hinzufügen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
this.options = {&lt;br /&gt;
        zoom: 10,&lt;br /&gt;
        center: null,&lt;br /&gt;
        scrollWheelZoom: false,&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    this._currentURL = &amp;#039;&amp;#039;;&lt;br /&gt;
    this.init = function(mapID, lat, lng, provider) {&lt;br /&gt;
        if(lat != 0) this.map = L.map(mapID, {&lt;br /&gt;
          center: [lat, lng],&lt;br /&gt;
          zoom: this.options.zoom,&lt;br /&gt;
          scrollWheelZoom: this.options.scrollWheelZoom&lt;br /&gt;
        } );&lt;br /&gt;
        L.tileLayer.provider(provider).addTo(this.map);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;#039;map&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
	var cities = new L.LayerGroup();&lt;br /&gt;
&lt;br /&gt;
	L.marker([39.61, -105.02]).bindPopup(&amp;#039;This is Littleton, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.74, -104.99]).bindPopup(&amp;#039;This is Denver, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.73, -104.8]).bindPopup(&amp;#039;This is Aurora, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.77, -105.23]).bindPopup(&amp;#039;This is Golden, CO.&amp;#039;).addTo(cities);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	var mbAttr = &amp;#039;Map data &amp;amp;copy; &amp;lt;a href=&amp;quot;http://openstreetmap.org&amp;quot;&amp;gt;OpenStreetMap&amp;lt;/a&amp;gt; contributors, &amp;#039; +&lt;br /&gt;
			&amp;#039;&amp;lt;a href=&amp;quot;http://creativecommons.org/licenses/by-sa/2.0/&amp;quot;&amp;gt;CC-BY-SA&amp;lt;/a&amp;gt;, &amp;#039; +&lt;br /&gt;
			&amp;#039;Imagery © &amp;lt;a href=&amp;quot;http://mapbox.com&amp;quot;&amp;gt;Mapbox&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
		mbUrl = &amp;#039;https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	var grayscale   = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.light&amp;#039;, attribution: mbAttr}),&lt;br /&gt;
		streets  = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.streets&amp;#039;,   attribution: mbAttr});&lt;br /&gt;
&lt;br /&gt;
	var map = L.map(&amp;#039;map&amp;#039;, {&lt;br /&gt;
		center: [39.73, -104.99],&lt;br /&gt;
		zoom: 10,&lt;br /&gt;
		layers: [grayscale, cities]&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var baseLayers = {&lt;br /&gt;
		&amp;quot;Grayscale&amp;quot;: grayscale,&lt;br /&gt;
		&amp;quot;Streets&amp;quot;: streets&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var overlays = {&lt;br /&gt;
		&amp;quot;Cities&amp;quot;: cities&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	L.control.layers(baseLayers, overlays).addTo(map);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23343</id>
		<title>Processwire - Leaflet Map Marker Modul</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23343"/>
		<updated>2018-10-06T16:12:01Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Leaflet Skripte lokal einbinden (keine externen Skripte laden) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Siehe auch ==&lt;br /&gt;
 https://processwire.com/talk/topic/9745-module-leaflet-map/?page=5 (Forum)&lt;br /&gt;
 https://github.com/gmclelland/FieldtypeLeafletMapMarker/blob/PW3/InputfieldLeafletMapMarker.module (Fork)&lt;br /&gt;
 https://leafletjs.com/ (Leaflet Hauptseite)&lt;br /&gt;
 https://leaflet-extras.github.io/leaflet-providers/preview/index.html (Karten Provider)&lt;br /&gt;
 https://github.com/Leaflet/Leaflet.markercluster (Doku für Cluster Modul)&lt;br /&gt;
== Überblick ==&lt;br /&gt;
Wird aus Zeitgründen vom Entwickler nicht sehr aktiv weitergepflegt. Allerdings gibt es ordentlichen Support im Forum und ein paar Forks auf Github.&lt;br /&gt;
&lt;br /&gt;
Man kann für spezielle Anforderungen auch nur das Feld im Backend nutzen und Leaflet im Frontend selbst aufsetzen bzw. eigene Skripte nutzen. Das JavaScript für die Frontendausgabe im Modul findet man in:&lt;br /&gt;
 MarkupLeafletMap.js (JavaScript für Frontend-Ausgabe)&lt;br /&gt;
 MarkupLeafletMap.module (Inline JS für Frontend ) &lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
* Benötigt die Konfiguration von &amp;#039;&amp;#039;&amp;#039;$additionalHeaderData&amp;#039;&amp;#039;&amp;#039;. Das ist einfach ein String der in &amp;#039;&amp;#039;_init.php&amp;#039;&amp;#039; angelegt und im &amp;#039;&amp;#039;Header eingebunden&amp;#039;&amp;#039; wird. Damit lassen sich Zusätzliche Daten per Template rendern. &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Feldname&amp;#039;&amp;#039;&amp;#039; im Backend ist hier &amp;#039;&amp;#039;&amp;#039;map_leaflet&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Achtung Bug (V2.8.1): Immer den Geocoder auf der Seite benutzen. Die Standarddaten aus der Feldkonfiguration werden nicht richtig übernommen (Adressfeld) und es gibt Ausgabefehler.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
$mapMarkup = $map-&amp;gt;render($page, &amp;#039;map_leaflet ,array(&amp;#039;markerColour&amp;#039; =&amp;gt; &amp;#039;green&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;content_bottom&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Button GM --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Lange+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Map --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;col span_12&amp;quot;&amp;gt;&amp;#039;.$mapMarkup.&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manuell Konfigurieren ==&lt;br /&gt;
Einfaches Beispiel das auch bei AJAX Seiten funktioniert und einen Button zur Google Maps Wegbeschreibung enthält.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// If AJAX put this in _init.php else uncomment next two lines&lt;br /&gt;
// $map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
// $additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
$myAdress = $page-&amp;gt;map_leaflet-&amp;gt;address;	// outputs the address you entered&lt;br /&gt;
$myLat = $page-&amp;gt;map_leaflet-&amp;gt;lat; 		// outputs the latitude&lt;br /&gt;
$myLng = $page-&amp;gt;map_leaflet-&amp;gt;lng; 		// outputs the longitude&lt;br /&gt;
$myZoom = $page-&amp;gt;map_leaflet-&amp;gt;zoom;		// outputs the zoom level&lt;br /&gt;
&lt;br /&gt;
$mapMarkup = &amp;quot;&lt;br /&gt;
&amp;lt;div id=&amp;#039;mleafletmap1&amp;#039;style=&amp;#039;height:400px;&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
var mleafletmap1 = new jsMarkupLeafletMap();&lt;br /&gt;
 mleafletmap1.setOption(&amp;#039;zoom&amp;#039;, $myZoom);&lt;br /&gt;
  mleafletmap1.init(&amp;#039;mleafletmap1&amp;#039;, $myLat, $myLng, &amp;#039;OpenStreetMap.Mapnik&amp;#039;);&lt;br /&gt;
  var default_marker_icon = L.AwesomeMarkers.icon({ icon: &amp;#039;home&amp;#039;, iconColor: &amp;#039;white&amp;#039;, prefix: &amp;#039;fa&amp;#039;, markerColor: &amp;#039;darkblue&amp;#039; });&lt;br /&gt;
  mleafletmap1.addMarkerIcon(default_marker_icon, $myLat, $myLng, &amp;#039;/kontakt/&amp;#039;, &amp;#039;Kontakt&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Meine+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;col-sm-12&amp;quot; style=&amp;quot;height:400px;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
    .$mapMarkup.&amp;#039;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Multiple Markers Beispiel ===&lt;br /&gt;
Es sollen Orte (LeafletMapMarker) von Unterseiten geholt werden und aus diesen eine Map mit mehreren Markern generiert werden. Viele Marker auf engem Raum werden geclustert.&lt;br /&gt;
&lt;br /&gt;
Voraussetzungen im Beispiel&lt;br /&gt;
* die Kindseiten werden über ihr template selektiert. Im Beispiel wird das durch ein Textfeld im Parent Template festgelegt (Feldname template_title)&lt;br /&gt;
* der Leaflet code wird nur bei Bedarf geladen. Das geschieht über eine Switch Anweisung im Repeater&lt;br /&gt;
 &lt;br /&gt;
layout_blocks.php (Partial für layout Blocks)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
switch ($item-&amp;gt;type) {&lt;br /&gt;
	case &amp;#039;map_leaflet&amp;#039;:&lt;br /&gt;
		$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
		//$map-&amp;gt;getLeafletMapHeaderLines(false);&lt;br /&gt;
		//$additionalHeaderData .= $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
				$additionalHeaderData .= &amp;#039;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;https://unpkg.com/leaflet@1.3.4/dist/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;https://unpkg.com/leaflet@1.3.4/dist/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
				&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
				// Dont&amp;#039;t forget to include font awesome if maanual loading headerlines&lt;br /&gt;
				$item-&amp;gt;myMap = $map;&lt;br /&gt;
				$out .= $item-&amp;gt;render();&lt;br /&gt;
				break;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
repeaterMatrixField map_leaflet.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
//...&lt;br /&gt;
// map&lt;br /&gt;
&lt;br /&gt;
$options = array(&lt;br /&gt;
	&amp;quot;width&amp;quot; =&amp;gt; &amp;quot;100%&amp;quot;,&lt;br /&gt;
	&amp;quot;height&amp;quot; =&amp;gt; &amp;quot;540px&amp;quot;,&lt;br /&gt;
	&amp;quot;markerLinkField&amp;quot; =&amp;gt; &amp;quot;link&amp;quot;,&lt;br /&gt;
	&amp;quot;markerTitleField&amp;quot; =&amp;gt; &amp;quot;title&amp;quot;,&lt;br /&gt;
	&amp;#039;popupFormatter&amp;#039; =&amp;gt; function($page) {&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;h4&amp;gt;$page-&amp;gt;title&amp;lt;/h4&amp;gt;&amp;quot;;&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;p&amp;gt;$page-&amp;gt;text&amp;lt;/p&amp;gt;&amp;quot;; // ** NB: Use escaped double quotes if HTML attributes needed **&lt;br /&gt;
			if($page-&amp;gt;link != &amp;quot;#&amp;quot;) $out[] = &amp;quot;&amp;lt;p&amp;gt;&amp;lt;a href=\&amp;quot;{$page-&amp;gt;link}\&amp;quot;&amp;gt;{$page-&amp;gt;link}&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
			return implode(&amp;#039; &amp;#039;, $out);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
);&lt;br /&gt;
if( !empty($page-&amp;gt;template_title) ){&lt;br /&gt;
	$mySelector = &amp;#039;template=&amp;#039;.$page-&amp;gt;template_title;&lt;br /&gt;
	$places = $pages-&amp;gt;find($mySelector);&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($places, &amp;#039;location&amp;#039;,$options);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
else{&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($page,&amp;#039;location&amp;#039;,$options);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Leaflet Skripte lokal einbinden (keine externen Skripte laden) ===&lt;br /&gt;
Dies sind die benötigten Header Zeilen. leaflet.css und leaflet.js sollte dann entsprechend vorhanden sein. Der Rest kommat aus dem Modul Verzeichnis.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Font Awesome muß ebenfalls vorhanden sein (Bisher - September 2018, die 4er Version).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$additionalHeaderData = &amp;#039;&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scroll Zoom abschalten ===&lt;br /&gt;
In MarkupLeafletMap.js die Option hinzufügen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
this.options = {&lt;br /&gt;
        zoom: 10,&lt;br /&gt;
        center: null,&lt;br /&gt;
        scrollWheelZoom: false,&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    this._currentURL = &amp;#039;&amp;#039;;&lt;br /&gt;
    this.init = function(mapID, lat, lng, provider) {&lt;br /&gt;
        if(lat != 0) this.map = L.map(mapID, {&lt;br /&gt;
          center: [lat, lng],&lt;br /&gt;
          zoom: this.options.zoom,&lt;br /&gt;
          scrollWheelZoom: this.options.scrollWheelZoom&lt;br /&gt;
        } );&lt;br /&gt;
        L.tileLayer.provider(provider).addTo(this.map);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;#039;map&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
	var cities = new L.LayerGroup();&lt;br /&gt;
&lt;br /&gt;
	L.marker([39.61, -105.02]).bindPopup(&amp;#039;This is Littleton, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.74, -104.99]).bindPopup(&amp;#039;This is Denver, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.73, -104.8]).bindPopup(&amp;#039;This is Aurora, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.77, -105.23]).bindPopup(&amp;#039;This is Golden, CO.&amp;#039;).addTo(cities);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	var mbAttr = &amp;#039;Map data &amp;amp;copy; &amp;lt;a href=&amp;quot;http://openstreetmap.org&amp;quot;&amp;gt;OpenStreetMap&amp;lt;/a&amp;gt; contributors, &amp;#039; +&lt;br /&gt;
			&amp;#039;&amp;lt;a href=&amp;quot;http://creativecommons.org/licenses/by-sa/2.0/&amp;quot;&amp;gt;CC-BY-SA&amp;lt;/a&amp;gt;, &amp;#039; +&lt;br /&gt;
			&amp;#039;Imagery © &amp;lt;a href=&amp;quot;http://mapbox.com&amp;quot;&amp;gt;Mapbox&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
		mbUrl = &amp;#039;https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	var grayscale   = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.light&amp;#039;, attribution: mbAttr}),&lt;br /&gt;
		streets  = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.streets&amp;#039;,   attribution: mbAttr});&lt;br /&gt;
&lt;br /&gt;
	var map = L.map(&amp;#039;map&amp;#039;, {&lt;br /&gt;
		center: [39.73, -104.99],&lt;br /&gt;
		zoom: 10,&lt;br /&gt;
		layers: [grayscale, cities]&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var baseLayers = {&lt;br /&gt;
		&amp;quot;Grayscale&amp;quot;: grayscale,&lt;br /&gt;
		&amp;quot;Streets&amp;quot;: streets&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var overlays = {&lt;br /&gt;
		&amp;quot;Cities&amp;quot;: cities&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	L.control.layers(baseLayers, overlays).addTo(map);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23342</id>
		<title>Processwire - Leaflet Map Marker Modul</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23342"/>
		<updated>2018-10-06T16:10:15Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Leaflet Skripte selbst einbinden */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Siehe auch ==&lt;br /&gt;
 https://processwire.com/talk/topic/9745-module-leaflet-map/?page=5 (Forum)&lt;br /&gt;
 https://github.com/gmclelland/FieldtypeLeafletMapMarker/blob/PW3/InputfieldLeafletMapMarker.module (Fork)&lt;br /&gt;
 https://leafletjs.com/ (Leaflet Hauptseite)&lt;br /&gt;
 https://leaflet-extras.github.io/leaflet-providers/preview/index.html (Karten Provider)&lt;br /&gt;
 https://github.com/Leaflet/Leaflet.markercluster (Doku für Cluster Modul)&lt;br /&gt;
== Überblick ==&lt;br /&gt;
Wird aus Zeitgründen vom Entwickler nicht sehr aktiv weitergepflegt. Allerdings gibt es ordentlichen Support im Forum und ein paar Forks auf Github.&lt;br /&gt;
&lt;br /&gt;
Man kann für spezielle Anforderungen auch nur das Feld im Backend nutzen und Leaflet im Frontend selbst aufsetzen bzw. eigene Skripte nutzen. Das JavaScript für die Frontendausgabe im Modul findet man in:&lt;br /&gt;
 MarkupLeafletMap.js (JavaScript für Frontend-Ausgabe)&lt;br /&gt;
 MarkupLeafletMap.module (Inline JS für Frontend ) &lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
* Benötigt die Konfiguration von &amp;#039;&amp;#039;&amp;#039;$additionalHeaderData&amp;#039;&amp;#039;&amp;#039;. Das ist einfach ein String der in &amp;#039;&amp;#039;_init.php&amp;#039;&amp;#039; angelegt und im &amp;#039;&amp;#039;Header eingebunden&amp;#039;&amp;#039; wird. Damit lassen sich Zusätzliche Daten per Template rendern. &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Feldname&amp;#039;&amp;#039;&amp;#039; im Backend ist hier &amp;#039;&amp;#039;&amp;#039;map_leaflet&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Achtung Bug (V2.8.1): Immer den Geocoder auf der Seite benutzen. Die Standarddaten aus der Feldkonfiguration werden nicht richtig übernommen (Adressfeld) und es gibt Ausgabefehler.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
$mapMarkup = $map-&amp;gt;render($page, &amp;#039;map_leaflet ,array(&amp;#039;markerColour&amp;#039; =&amp;gt; &amp;#039;green&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;content_bottom&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Button GM --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Lange+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Map --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;col span_12&amp;quot;&amp;gt;&amp;#039;.$mapMarkup.&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manuell Konfigurieren ==&lt;br /&gt;
Einfaches Beispiel das auch bei AJAX Seiten funktioniert und einen Button zur Google Maps Wegbeschreibung enthält.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// If AJAX put this in _init.php else uncomment next two lines&lt;br /&gt;
// $map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
// $additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
$myAdress = $page-&amp;gt;map_leaflet-&amp;gt;address;	// outputs the address you entered&lt;br /&gt;
$myLat = $page-&amp;gt;map_leaflet-&amp;gt;lat; 		// outputs the latitude&lt;br /&gt;
$myLng = $page-&amp;gt;map_leaflet-&amp;gt;lng; 		// outputs the longitude&lt;br /&gt;
$myZoom = $page-&amp;gt;map_leaflet-&amp;gt;zoom;		// outputs the zoom level&lt;br /&gt;
&lt;br /&gt;
$mapMarkup = &amp;quot;&lt;br /&gt;
&amp;lt;div id=&amp;#039;mleafletmap1&amp;#039;style=&amp;#039;height:400px;&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
var mleafletmap1 = new jsMarkupLeafletMap();&lt;br /&gt;
 mleafletmap1.setOption(&amp;#039;zoom&amp;#039;, $myZoom);&lt;br /&gt;
  mleafletmap1.init(&amp;#039;mleafletmap1&amp;#039;, $myLat, $myLng, &amp;#039;OpenStreetMap.Mapnik&amp;#039;);&lt;br /&gt;
  var default_marker_icon = L.AwesomeMarkers.icon({ icon: &amp;#039;home&amp;#039;, iconColor: &amp;#039;white&amp;#039;, prefix: &amp;#039;fa&amp;#039;, markerColor: &amp;#039;darkblue&amp;#039; });&lt;br /&gt;
  mleafletmap1.addMarkerIcon(default_marker_icon, $myLat, $myLng, &amp;#039;/kontakt/&amp;#039;, &amp;#039;Kontakt&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Meine+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;col-sm-12&amp;quot; style=&amp;quot;height:400px;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
    .$mapMarkup.&amp;#039;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Multiple Markers Beispiel ===&lt;br /&gt;
Es sollen Orte (LeafletMapMarker) von Unterseiten geholt werden und aus diesen eine Map mit mehreren Markern generiert werden. Viele Marker auf engem Raum werden geclustert.&lt;br /&gt;
&lt;br /&gt;
Voraussetzungen im Beispiel&lt;br /&gt;
* die Kindseiten werden über ihr template selektiert. Im Beispiel wird das durch ein Textfeld im Parent Template festgelegt (Feldname template_title)&lt;br /&gt;
* der Leaflet code wird nur bei Bedarf geladen. Das geschieht über eine Switch Anweisung im Repeater&lt;br /&gt;
 &lt;br /&gt;
layout_blocks.php (Partial für layout Blocks)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
switch ($item-&amp;gt;type) {&lt;br /&gt;
	case &amp;#039;map_leaflet&amp;#039;:&lt;br /&gt;
		$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
		//$map-&amp;gt;getLeafletMapHeaderLines(false);&lt;br /&gt;
		//$additionalHeaderData .= $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
				$additionalHeaderData .= &amp;#039;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;https://unpkg.com/leaflet@1.3.4/dist/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;https://unpkg.com/leaflet@1.3.4/dist/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
				&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
				// Dont&amp;#039;t forget to include font awesome if maanual loading headerlines&lt;br /&gt;
				$item-&amp;gt;myMap = $map;&lt;br /&gt;
				$out .= $item-&amp;gt;render();&lt;br /&gt;
				break;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
repeaterMatrixField map_leaflet.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
//...&lt;br /&gt;
// map&lt;br /&gt;
&lt;br /&gt;
$options = array(&lt;br /&gt;
	&amp;quot;width&amp;quot; =&amp;gt; &amp;quot;100%&amp;quot;,&lt;br /&gt;
	&amp;quot;height&amp;quot; =&amp;gt; &amp;quot;540px&amp;quot;,&lt;br /&gt;
	&amp;quot;markerLinkField&amp;quot; =&amp;gt; &amp;quot;link&amp;quot;,&lt;br /&gt;
	&amp;quot;markerTitleField&amp;quot; =&amp;gt; &amp;quot;title&amp;quot;,&lt;br /&gt;
	&amp;#039;popupFormatter&amp;#039; =&amp;gt; function($page) {&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;h4&amp;gt;$page-&amp;gt;title&amp;lt;/h4&amp;gt;&amp;quot;;&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;p&amp;gt;$page-&amp;gt;text&amp;lt;/p&amp;gt;&amp;quot;; // ** NB: Use escaped double quotes if HTML attributes needed **&lt;br /&gt;
			if($page-&amp;gt;link != &amp;quot;#&amp;quot;) $out[] = &amp;quot;&amp;lt;p&amp;gt;&amp;lt;a href=\&amp;quot;{$page-&amp;gt;link}\&amp;quot;&amp;gt;{$page-&amp;gt;link}&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
			return implode(&amp;#039; &amp;#039;, $out);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
);&lt;br /&gt;
if( !empty($page-&amp;gt;template_title) ){&lt;br /&gt;
	$mySelector = &amp;#039;template=&amp;#039;.$page-&amp;gt;template_title;&lt;br /&gt;
	$places = $pages-&amp;gt;find($mySelector);&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($places, &amp;#039;location&amp;#039;,$options);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
else{&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($page,&amp;#039;location&amp;#039;,$options);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Leaflet Skripte lokal einbinden (keine externen Skripte laden) ===&lt;br /&gt;
Dies sind die benötigten Header Zeilen. leaflet.css und leaflet.js sollte dann entsprechend vorhanden sein. Der Rest kommat aus dem Modul Verzeichnis.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Font Awesome muß ebenfalls vorhanden sein (Bisher - September 2018, die 4er Version).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
  $additionalHeaderData = &amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scroll Zoom abschalten ===&lt;br /&gt;
In MarkupLeafletMap.js die Option hinzufügen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
this.options = {&lt;br /&gt;
        zoom: 10,&lt;br /&gt;
        center: null,&lt;br /&gt;
        scrollWheelZoom: false,&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    this._currentURL = &amp;#039;&amp;#039;;&lt;br /&gt;
    this.init = function(mapID, lat, lng, provider) {&lt;br /&gt;
        if(lat != 0) this.map = L.map(mapID, {&lt;br /&gt;
          center: [lat, lng],&lt;br /&gt;
          zoom: this.options.zoom,&lt;br /&gt;
          scrollWheelZoom: this.options.scrollWheelZoom&lt;br /&gt;
        } );&lt;br /&gt;
        L.tileLayer.provider(provider).addTo(this.map);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;#039;map&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
	var cities = new L.LayerGroup();&lt;br /&gt;
&lt;br /&gt;
	L.marker([39.61, -105.02]).bindPopup(&amp;#039;This is Littleton, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.74, -104.99]).bindPopup(&amp;#039;This is Denver, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.73, -104.8]).bindPopup(&amp;#039;This is Aurora, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.77, -105.23]).bindPopup(&amp;#039;This is Golden, CO.&amp;#039;).addTo(cities);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	var mbAttr = &amp;#039;Map data &amp;amp;copy; &amp;lt;a href=&amp;quot;http://openstreetmap.org&amp;quot;&amp;gt;OpenStreetMap&amp;lt;/a&amp;gt; contributors, &amp;#039; +&lt;br /&gt;
			&amp;#039;&amp;lt;a href=&amp;quot;http://creativecommons.org/licenses/by-sa/2.0/&amp;quot;&amp;gt;CC-BY-SA&amp;lt;/a&amp;gt;, &amp;#039; +&lt;br /&gt;
			&amp;#039;Imagery © &amp;lt;a href=&amp;quot;http://mapbox.com&amp;quot;&amp;gt;Mapbox&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
		mbUrl = &amp;#039;https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	var grayscale   = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.light&amp;#039;, attribution: mbAttr}),&lt;br /&gt;
		streets  = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.streets&amp;#039;,   attribution: mbAttr});&lt;br /&gt;
&lt;br /&gt;
	var map = L.map(&amp;#039;map&amp;#039;, {&lt;br /&gt;
		center: [39.73, -104.99],&lt;br /&gt;
		zoom: 10,&lt;br /&gt;
		layers: [grayscale, cities]&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var baseLayers = {&lt;br /&gt;
		&amp;quot;Grayscale&amp;quot;: grayscale,&lt;br /&gt;
		&amp;quot;Streets&amp;quot;: streets&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var overlays = {&lt;br /&gt;
		&amp;quot;Cities&amp;quot;: cities&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	L.control.layers(baseLayers, overlays).addTo(map);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23341</id>
		<title>Processwire - Leaflet Map Marker Modul</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23341"/>
		<updated>2018-10-06T16:09:14Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Multiple Markers Beispiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Siehe auch ==&lt;br /&gt;
 https://processwire.com/talk/topic/9745-module-leaflet-map/?page=5 (Forum)&lt;br /&gt;
 https://github.com/gmclelland/FieldtypeLeafletMapMarker/blob/PW3/InputfieldLeafletMapMarker.module (Fork)&lt;br /&gt;
 https://leafletjs.com/ (Leaflet Hauptseite)&lt;br /&gt;
 https://leaflet-extras.github.io/leaflet-providers/preview/index.html (Karten Provider)&lt;br /&gt;
 https://github.com/Leaflet/Leaflet.markercluster (Doku für Cluster Modul)&lt;br /&gt;
== Überblick ==&lt;br /&gt;
Wird aus Zeitgründen vom Entwickler nicht sehr aktiv weitergepflegt. Allerdings gibt es ordentlichen Support im Forum und ein paar Forks auf Github.&lt;br /&gt;
&lt;br /&gt;
Man kann für spezielle Anforderungen auch nur das Feld im Backend nutzen und Leaflet im Frontend selbst aufsetzen bzw. eigene Skripte nutzen. Das JavaScript für die Frontendausgabe im Modul findet man in:&lt;br /&gt;
 MarkupLeafletMap.js (JavaScript für Frontend-Ausgabe)&lt;br /&gt;
 MarkupLeafletMap.module (Inline JS für Frontend ) &lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
* Benötigt die Konfiguration von &amp;#039;&amp;#039;&amp;#039;$additionalHeaderData&amp;#039;&amp;#039;&amp;#039;. Das ist einfach ein String der in &amp;#039;&amp;#039;_init.php&amp;#039;&amp;#039; angelegt und im &amp;#039;&amp;#039;Header eingebunden&amp;#039;&amp;#039; wird. Damit lassen sich Zusätzliche Daten per Template rendern. &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Feldname&amp;#039;&amp;#039;&amp;#039; im Backend ist hier &amp;#039;&amp;#039;&amp;#039;map_leaflet&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Achtung Bug (V2.8.1): Immer den Geocoder auf der Seite benutzen. Die Standarddaten aus der Feldkonfiguration werden nicht richtig übernommen (Adressfeld) und es gibt Ausgabefehler.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
$mapMarkup = $map-&amp;gt;render($page, &amp;#039;map_leaflet ,array(&amp;#039;markerColour&amp;#039; =&amp;gt; &amp;#039;green&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;content_bottom&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Button GM --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Lange+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Map --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;col span_12&amp;quot;&amp;gt;&amp;#039;.$mapMarkup.&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manuell Konfigurieren ==&lt;br /&gt;
Einfaches Beispiel das auch bei AJAX Seiten funktioniert und einen Button zur Google Maps Wegbeschreibung enthält.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// If AJAX put this in _init.php else uncomment next two lines&lt;br /&gt;
// $map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
// $additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
$myAdress = $page-&amp;gt;map_leaflet-&amp;gt;address;	// outputs the address you entered&lt;br /&gt;
$myLat = $page-&amp;gt;map_leaflet-&amp;gt;lat; 		// outputs the latitude&lt;br /&gt;
$myLng = $page-&amp;gt;map_leaflet-&amp;gt;lng; 		// outputs the longitude&lt;br /&gt;
$myZoom = $page-&amp;gt;map_leaflet-&amp;gt;zoom;		// outputs the zoom level&lt;br /&gt;
&lt;br /&gt;
$mapMarkup = &amp;quot;&lt;br /&gt;
&amp;lt;div id=&amp;#039;mleafletmap1&amp;#039;style=&amp;#039;height:400px;&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
var mleafletmap1 = new jsMarkupLeafletMap();&lt;br /&gt;
 mleafletmap1.setOption(&amp;#039;zoom&amp;#039;, $myZoom);&lt;br /&gt;
  mleafletmap1.init(&amp;#039;mleafletmap1&amp;#039;, $myLat, $myLng, &amp;#039;OpenStreetMap.Mapnik&amp;#039;);&lt;br /&gt;
  var default_marker_icon = L.AwesomeMarkers.icon({ icon: &amp;#039;home&amp;#039;, iconColor: &amp;#039;white&amp;#039;, prefix: &amp;#039;fa&amp;#039;, markerColor: &amp;#039;darkblue&amp;#039; });&lt;br /&gt;
  mleafletmap1.addMarkerIcon(default_marker_icon, $myLat, $myLng, &amp;#039;/kontakt/&amp;#039;, &amp;#039;Kontakt&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Meine+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;col-sm-12&amp;quot; style=&amp;quot;height:400px;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
    .$mapMarkup.&amp;#039;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Multiple Markers Beispiel ===&lt;br /&gt;
Es sollen Orte (LeafletMapMarker) von Unterseiten geholt werden und aus diesen eine Map mit mehreren Markern generiert werden. Viele Marker auf engem Raum werden geclustert.&lt;br /&gt;
&lt;br /&gt;
Voraussetzungen im Beispiel&lt;br /&gt;
* die Kindseiten werden über ihr template selektiert. Im Beispiel wird das durch ein Textfeld im Parent Template festgelegt (Feldname template_title)&lt;br /&gt;
* der Leaflet code wird nur bei Bedarf geladen. Das geschieht über eine Switch Anweisung im Repeater&lt;br /&gt;
 &lt;br /&gt;
layout_blocks.php (Partial für layout Blocks)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
switch ($item-&amp;gt;type) {&lt;br /&gt;
	case &amp;#039;map_leaflet&amp;#039;:&lt;br /&gt;
		$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
		//$map-&amp;gt;getLeafletMapHeaderLines(false);&lt;br /&gt;
		//$additionalHeaderData .= $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
				$additionalHeaderData .= &amp;#039;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;https://unpkg.com/leaflet@1.3.4/dist/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;https://unpkg.com/leaflet@1.3.4/dist/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
				&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
				// Dont&amp;#039;t forget to include font awesome if maanual loading headerlines&lt;br /&gt;
				$item-&amp;gt;myMap = $map;&lt;br /&gt;
				$out .= $item-&amp;gt;render();&lt;br /&gt;
				break;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
repeaterMatrixField map_leaflet.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
//...&lt;br /&gt;
// map&lt;br /&gt;
&lt;br /&gt;
$options = array(&lt;br /&gt;
	&amp;quot;width&amp;quot; =&amp;gt; &amp;quot;100%&amp;quot;,&lt;br /&gt;
	&amp;quot;height&amp;quot; =&amp;gt; &amp;quot;540px&amp;quot;,&lt;br /&gt;
	&amp;quot;markerLinkField&amp;quot; =&amp;gt; &amp;quot;link&amp;quot;,&lt;br /&gt;
	&amp;quot;markerTitleField&amp;quot; =&amp;gt; &amp;quot;title&amp;quot;,&lt;br /&gt;
	&amp;#039;popupFormatter&amp;#039; =&amp;gt; function($page) {&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;h4&amp;gt;$page-&amp;gt;title&amp;lt;/h4&amp;gt;&amp;quot;;&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;p&amp;gt;$page-&amp;gt;text&amp;lt;/p&amp;gt;&amp;quot;; // ** NB: Use escaped double quotes if HTML attributes needed **&lt;br /&gt;
			if($page-&amp;gt;link != &amp;quot;#&amp;quot;) $out[] = &amp;quot;&amp;lt;p&amp;gt;&amp;lt;a href=\&amp;quot;{$page-&amp;gt;link}\&amp;quot;&amp;gt;{$page-&amp;gt;link}&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
			return implode(&amp;#039; &amp;#039;, $out);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
);&lt;br /&gt;
if( !empty($page-&amp;gt;template_title) ){&lt;br /&gt;
	$mySelector = &amp;#039;template=&amp;#039;.$page-&amp;gt;template_title;&lt;br /&gt;
	$places = $pages-&amp;gt;find($mySelector);&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($places, &amp;#039;location&amp;#039;,$options);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
else{&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($page,&amp;#039;location&amp;#039;,$options);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Leaflet Skripte selbst einbinden ===&lt;br /&gt;
Dies sind die benötigten Header Zeilen. leaflet.css und leaflet.js sollte dann entsprechend vorhanden sein. Der Rest kommat aus dem Modul Verzeichnis.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Font Awesome muß ebenfalls vorhanden sein (Bisher - September 2018, die 4er Version).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
  $additionalHeaderData = &amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scroll Zoom abschalten ===&lt;br /&gt;
In MarkupLeafletMap.js die Option hinzufügen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
this.options = {&lt;br /&gt;
        zoom: 10,&lt;br /&gt;
        center: null,&lt;br /&gt;
        scrollWheelZoom: false,&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    this._currentURL = &amp;#039;&amp;#039;;&lt;br /&gt;
    this.init = function(mapID, lat, lng, provider) {&lt;br /&gt;
        if(lat != 0) this.map = L.map(mapID, {&lt;br /&gt;
          center: [lat, lng],&lt;br /&gt;
          zoom: this.options.zoom,&lt;br /&gt;
          scrollWheelZoom: this.options.scrollWheelZoom&lt;br /&gt;
        } );&lt;br /&gt;
        L.tileLayer.provider(provider).addTo(this.map);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;#039;map&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
	var cities = new L.LayerGroup();&lt;br /&gt;
&lt;br /&gt;
	L.marker([39.61, -105.02]).bindPopup(&amp;#039;This is Littleton, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.74, -104.99]).bindPopup(&amp;#039;This is Denver, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.73, -104.8]).bindPopup(&amp;#039;This is Aurora, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.77, -105.23]).bindPopup(&amp;#039;This is Golden, CO.&amp;#039;).addTo(cities);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	var mbAttr = &amp;#039;Map data &amp;amp;copy; &amp;lt;a href=&amp;quot;http://openstreetmap.org&amp;quot;&amp;gt;OpenStreetMap&amp;lt;/a&amp;gt; contributors, &amp;#039; +&lt;br /&gt;
			&amp;#039;&amp;lt;a href=&amp;quot;http://creativecommons.org/licenses/by-sa/2.0/&amp;quot;&amp;gt;CC-BY-SA&amp;lt;/a&amp;gt;, &amp;#039; +&lt;br /&gt;
			&amp;#039;Imagery © &amp;lt;a href=&amp;quot;http://mapbox.com&amp;quot;&amp;gt;Mapbox&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
		mbUrl = &amp;#039;https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	var grayscale   = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.light&amp;#039;, attribution: mbAttr}),&lt;br /&gt;
		streets  = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.streets&amp;#039;,   attribution: mbAttr});&lt;br /&gt;
&lt;br /&gt;
	var map = L.map(&amp;#039;map&amp;#039;, {&lt;br /&gt;
		center: [39.73, -104.99],&lt;br /&gt;
		zoom: 10,&lt;br /&gt;
		layers: [grayscale, cities]&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var baseLayers = {&lt;br /&gt;
		&amp;quot;Grayscale&amp;quot;: grayscale,&lt;br /&gt;
		&amp;quot;Streets&amp;quot;: streets&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var overlays = {&lt;br /&gt;
		&amp;quot;Cities&amp;quot;: cities&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	L.control.layers(baseLayers, overlays).addTo(map);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23340</id>
		<title>Processwire - Leaflet Map Marker Modul</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23340"/>
		<updated>2018-10-06T16:00:32Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Beispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Siehe auch ==&lt;br /&gt;
 https://processwire.com/talk/topic/9745-module-leaflet-map/?page=5 (Forum)&lt;br /&gt;
 https://github.com/gmclelland/FieldtypeLeafletMapMarker/blob/PW3/InputfieldLeafletMapMarker.module (Fork)&lt;br /&gt;
 https://leafletjs.com/ (Leaflet Hauptseite)&lt;br /&gt;
 https://leaflet-extras.github.io/leaflet-providers/preview/index.html (Karten Provider)&lt;br /&gt;
 https://github.com/Leaflet/Leaflet.markercluster (Doku für Cluster Modul)&lt;br /&gt;
== Überblick ==&lt;br /&gt;
Wird aus Zeitgründen vom Entwickler nicht sehr aktiv weitergepflegt. Allerdings gibt es ordentlichen Support im Forum und ein paar Forks auf Github.&lt;br /&gt;
&lt;br /&gt;
Man kann für spezielle Anforderungen auch nur das Feld im Backend nutzen und Leaflet im Frontend selbst aufsetzen bzw. eigene Skripte nutzen. Das JavaScript für die Frontendausgabe im Modul findet man in:&lt;br /&gt;
 MarkupLeafletMap.js (JavaScript für Frontend-Ausgabe)&lt;br /&gt;
 MarkupLeafletMap.module (Inline JS für Frontend ) &lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
* Benötigt die Konfiguration von &amp;#039;&amp;#039;&amp;#039;$additionalHeaderData&amp;#039;&amp;#039;&amp;#039;. Das ist einfach ein String der in &amp;#039;&amp;#039;_init.php&amp;#039;&amp;#039; angelegt und im &amp;#039;&amp;#039;Header eingebunden&amp;#039;&amp;#039; wird. Damit lassen sich Zusätzliche Daten per Template rendern. &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Feldname&amp;#039;&amp;#039;&amp;#039; im Backend ist hier &amp;#039;&amp;#039;&amp;#039;map_leaflet&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Achtung Bug (V2.8.1): Immer den Geocoder auf der Seite benutzen. Die Standarddaten aus der Feldkonfiguration werden nicht richtig übernommen (Adressfeld) und es gibt Ausgabefehler.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
$mapMarkup = $map-&amp;gt;render($page, &amp;#039;map_leaflet ,array(&amp;#039;markerColour&amp;#039; =&amp;gt; &amp;#039;green&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;content_bottom&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Button GM --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Lange+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Map --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;col span_12&amp;quot;&amp;gt;&amp;#039;.$mapMarkup.&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manuell Konfigurieren ==&lt;br /&gt;
Einfaches Beispiel das auch bei AJAX Seiten funktioniert und einen Button zur Google Maps Wegbeschreibung enthält.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// If AJAX put this in _init.php else uncomment next two lines&lt;br /&gt;
// $map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
// $additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
$myAdress = $page-&amp;gt;map_leaflet-&amp;gt;address;	// outputs the address you entered&lt;br /&gt;
$myLat = $page-&amp;gt;map_leaflet-&amp;gt;lat; 		// outputs the latitude&lt;br /&gt;
$myLng = $page-&amp;gt;map_leaflet-&amp;gt;lng; 		// outputs the longitude&lt;br /&gt;
$myZoom = $page-&amp;gt;map_leaflet-&amp;gt;zoom;		// outputs the zoom level&lt;br /&gt;
&lt;br /&gt;
$mapMarkup = &amp;quot;&lt;br /&gt;
&amp;lt;div id=&amp;#039;mleafletmap1&amp;#039;style=&amp;#039;height:400px;&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
var mleafletmap1 = new jsMarkupLeafletMap();&lt;br /&gt;
 mleafletmap1.setOption(&amp;#039;zoom&amp;#039;, $myZoom);&lt;br /&gt;
  mleafletmap1.init(&amp;#039;mleafletmap1&amp;#039;, $myLat, $myLng, &amp;#039;OpenStreetMap.Mapnik&amp;#039;);&lt;br /&gt;
  var default_marker_icon = L.AwesomeMarkers.icon({ icon: &amp;#039;home&amp;#039;, iconColor: &amp;#039;white&amp;#039;, prefix: &amp;#039;fa&amp;#039;, markerColor: &amp;#039;darkblue&amp;#039; });&lt;br /&gt;
  mleafletmap1.addMarkerIcon(default_marker_icon, $myLat, $myLng, &amp;#039;/kontakt/&amp;#039;, &amp;#039;Kontakt&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Meine+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;col-sm-12&amp;quot; style=&amp;quot;height:400px;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
    .$mapMarkup.&amp;#039;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Multiple Markers Beispiel ===&lt;br /&gt;
Es sollen Orte (LeafletMapMarker) von Unterseiten geholt werden und aus diesen eine Map mit mehreren Markern generiert werden. Viele Marker auf engem Raum werden geclustert.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// map&lt;br /&gt;
&lt;br /&gt;
$options = array(&lt;br /&gt;
	&amp;quot;width&amp;quot; =&amp;gt; &amp;quot;100%&amp;quot;,&lt;br /&gt;
	&amp;quot;height&amp;quot; =&amp;gt; &amp;quot;540px&amp;quot;,&lt;br /&gt;
	&amp;quot;markerLinkField&amp;quot; =&amp;gt; &amp;quot;link&amp;quot;,&lt;br /&gt;
	&amp;quot;markerTitleField&amp;quot; =&amp;gt; &amp;quot;title&amp;quot;,&lt;br /&gt;
	&amp;#039;popupFormatter&amp;#039; =&amp;gt; function($page) {&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;h4&amp;gt;$page-&amp;gt;title&amp;lt;/h4&amp;gt;&amp;quot;;&lt;br /&gt;
			$out[] = &amp;quot;&amp;lt;p&amp;gt;$page-&amp;gt;text&amp;lt;/p&amp;gt;&amp;quot;; // ** NB: Use escaped double quotes if HTML attributes needed **&lt;br /&gt;
			if($page-&amp;gt;link != &amp;quot;#&amp;quot;) $out[] = &amp;quot;&amp;lt;p&amp;gt;&amp;lt;a href=\&amp;quot;{$page-&amp;gt;link}\&amp;quot;&amp;gt;{$page-&amp;gt;link}&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;quot;;&lt;br /&gt;
			return implode(&amp;#039; &amp;#039;, $out);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
);&lt;br /&gt;
if( !empty($page-&amp;gt;template_title) ){&lt;br /&gt;
	$mySelector = &amp;#039;template=&amp;#039;.$page-&amp;gt;template_title;&lt;br /&gt;
	$places = $pages-&amp;gt;find($mySelector);&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($places, &amp;#039;location&amp;#039;,$options);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
else{&lt;br /&gt;
	$mapMarkup = $page-&amp;gt;myMap-&amp;gt;render($page,&amp;#039;location&amp;#039;,$options);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Leaflet Skripte selbst einbinden ===&lt;br /&gt;
Dies sind die benötigten Header Zeilen. leaflet.css und leaflet.js sollte dann entsprechend vorhanden sein. Der Rest kommat aus dem Modul Verzeichnis.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Font Awesome muß ebenfalls vorhanden sein (Bisher - September 2018, die 4er Version).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
  $additionalHeaderData = &amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scroll Zoom abschalten ===&lt;br /&gt;
In MarkupLeafletMap.js die Option hinzufügen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
this.options = {&lt;br /&gt;
        zoom: 10,&lt;br /&gt;
        center: null,&lt;br /&gt;
        scrollWheelZoom: false,&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    this._currentURL = &amp;#039;&amp;#039;;&lt;br /&gt;
    this.init = function(mapID, lat, lng, provider) {&lt;br /&gt;
        if(lat != 0) this.map = L.map(mapID, {&lt;br /&gt;
          center: [lat, lng],&lt;br /&gt;
          zoom: this.options.zoom,&lt;br /&gt;
          scrollWheelZoom: this.options.scrollWheelZoom&lt;br /&gt;
        } );&lt;br /&gt;
        L.tileLayer.provider(provider).addTo(this.map);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;#039;map&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
	var cities = new L.LayerGroup();&lt;br /&gt;
&lt;br /&gt;
	L.marker([39.61, -105.02]).bindPopup(&amp;#039;This is Littleton, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.74, -104.99]).bindPopup(&amp;#039;This is Denver, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.73, -104.8]).bindPopup(&amp;#039;This is Aurora, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.77, -105.23]).bindPopup(&amp;#039;This is Golden, CO.&amp;#039;).addTo(cities);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	var mbAttr = &amp;#039;Map data &amp;amp;copy; &amp;lt;a href=&amp;quot;http://openstreetmap.org&amp;quot;&amp;gt;OpenStreetMap&amp;lt;/a&amp;gt; contributors, &amp;#039; +&lt;br /&gt;
			&amp;#039;&amp;lt;a href=&amp;quot;http://creativecommons.org/licenses/by-sa/2.0/&amp;quot;&amp;gt;CC-BY-SA&amp;lt;/a&amp;gt;, &amp;#039; +&lt;br /&gt;
			&amp;#039;Imagery © &amp;lt;a href=&amp;quot;http://mapbox.com&amp;quot;&amp;gt;Mapbox&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
		mbUrl = &amp;#039;https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	var grayscale   = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.light&amp;#039;, attribution: mbAttr}),&lt;br /&gt;
		streets  = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.streets&amp;#039;,   attribution: mbAttr});&lt;br /&gt;
&lt;br /&gt;
	var map = L.map(&amp;#039;map&amp;#039;, {&lt;br /&gt;
		center: [39.73, -104.99],&lt;br /&gt;
		zoom: 10,&lt;br /&gt;
		layers: [grayscale, cities]&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var baseLayers = {&lt;br /&gt;
		&amp;quot;Grayscale&amp;quot;: grayscale,&lt;br /&gt;
		&amp;quot;Streets&amp;quot;: streets&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var overlays = {&lt;br /&gt;
		&amp;quot;Cities&amp;quot;: cities&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	L.control.layers(baseLayers, overlays).addTo(map);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Fieldtype_Select_External_Options&amp;diff=23339</id>
		<title>Fieldtype Select External Options</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Fieldtype_Select_External_Options&amp;diff=23339"/>
		<updated>2018-10-06T11:51:57Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: Die Seite wurde neu angelegt: „ProcessWire Fiedtype (Modul) um externe oder interne Tabellen wie ein Selectfeld zu nutzen.  Beispiele &amp;lt;pre&amp;gt; //EXTOPT field version $latNameFields = array(&amp;#039;Fam…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ProcessWire Fiedtype (Modul) um externe oder interne Tabellen wie ein Selectfeld zu nutzen.&lt;br /&gt;
&lt;br /&gt;
Beispiele&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//EXTOPT field version&lt;br /&gt;
$latNameFields = array(&amp;#039;Familie&amp;#039;=&amp;gt;&amp;#039;extopt_family&amp;#039;); // all external Option Fields&lt;br /&gt;
foreach($latNameFields as $k=&amp;gt;$v){&lt;br /&gt;
  if(count($page-&amp;gt;{$v})){&lt;br /&gt;
    $latinMarkup .= &amp;#039;&amp;lt;div&amp;gt;&amp;#039;.$k.&amp;#039;: &amp;#039;.$page-&amp;gt;{$v}-&amp;gt;label.&amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
//var_dump($page-&amp;gt;ext_family-&amp;gt;label);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Maintenance_Mode&amp;diff=23338</id>
		<title>ProcessWire - Maintenance Mode</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Maintenance_Mode&amp;diff=23338"/>
		<updated>2018-10-05T08:02:03Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: Die Seite wurde neu angelegt: „ https://processwire-recipes.com/recipes/maintenance-mode/“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; https://processwire-recipes.com/recipes/maintenance-mode/&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Fieldtype_PageTable_(free_ProField)&amp;diff=23337</id>
		<title>Fieldtype PageTable (free ProField)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Fieldtype_PageTable_(free_ProField)&amp;diff=23337"/>
		<updated>2018-10-05T07:52:35Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Unterseiten zur Pagetable hinzufügen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ProcessWire Fieldtype PageTable&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Verwaltet eine Kollektion von frei definierbaren Feldern. In sofern ähnlich wie Repeater.&lt;br /&gt;
* Der User kann so viele Datensätze daraus erzeugen wie er möchte. ProcessWire entsprechend ist jeder Datensatz technisch gesehen eine Seite.&lt;br /&gt;
* Processwire erzeugt automatisch diese Unterseiten oder Seiten unterhalb einer definierten Elternseite für jeden Datensatz. Repeater tun das eigentlich auch, allerdings sind die Kindseiten automatisch (und nicht sehr Userfreundlich) benannt und liegen unter der Admin Seite.&lt;br /&gt;
* Die Kindseiten (Datensätze) können unterschiedliche Templates zur Ausgabe haben. Bei Repeatern geht das nicht.&lt;br /&gt;
&lt;br /&gt;
== Tipps und Tricks ==&lt;br /&gt;
=== Unterseiten zur Pagetable hinzufügen ===&lt;br /&gt;
 https://processwire.com/talk/topic/18986-solved-profields-page-table-auto-add-chidlren/&lt;br /&gt;
 https://processwire.com/talk/topic/8177-page-table-howto/&lt;br /&gt;
&lt;br /&gt;
Pagetable erkennt meistens wenn neue Unterseiten hinzugekommen sind und bietet an Sie der Tabelle hinzuzufügen. Nützlich z.B. nach einem Import. Manchmal klappt das allerdings nicht. Mir ist noch nicht klar in welchen Fälen nicht. Evtl. wenn mehr als eine Pagetable auf der Seite vorhanden ist. Es gibt Snippets um Seiten hinzuzufügen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$pp = $pages-&amp;gt;get(1234); // page you&amp;#039;re adding the children to the page table&lt;br /&gt;
$page-&amp;gt;of(false);// needed in some cases (Stephan)&lt;br /&gt;
foreach($pp-&amp;gt;children as $child) {&lt;br /&gt;
     $pp-&amp;gt;page_table_field-&amp;gt;add($child);&lt;br /&gt;
}&lt;br /&gt;
$pp-&amp;gt;save();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Quelle: https://processwire.com/talk/topic/8177-page-table-howto/&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Fieldtype_PageTable_(free_ProField)&amp;diff=23336</id>
		<title>Fieldtype PageTable (free ProField)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Fieldtype_PageTable_(free_ProField)&amp;diff=23336"/>
		<updated>2018-10-05T07:44:07Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Tipps und Tricks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ProcessWire Fieldtype PageTable&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Verwaltet eine Kollektion von frei definierbaren Feldern. In sofern ähnlich wie Repeater.&lt;br /&gt;
* Der User kann so viele Datensätze daraus erzeugen wie er möchte. ProcessWire entsprechend ist jeder Datensatz technisch gesehen eine Seite.&lt;br /&gt;
* Processwire erzeugt automatisch diese Unterseiten oder Seiten unterhalb einer definierten Elternseite für jeden Datensatz. Repeater tun das eigentlich auch, allerdings sind die Kindseiten automatisch (und nicht sehr Userfreundlich) benannt und liegen unter der Admin Seite.&lt;br /&gt;
* Die Kindseiten (Datensätze) können unterschiedliche Templates zur Ausgabe haben. Bei Repeatern geht das nicht.&lt;br /&gt;
&lt;br /&gt;
== Tipps und Tricks ==&lt;br /&gt;
=== Unterseiten zur Pagetable hinzufügen ===&lt;br /&gt;
 https://processwire.com/talk/topic/18986-solved-profields-page-table-auto-add-chidlren/&lt;br /&gt;
 https://processwire.com/talk/topic/8177-page-table-howto/&lt;br /&gt;
&lt;br /&gt;
Pagetable erkennt meistens wenn neue Unterseiten hinzugekommen sind und bietet an Sie der Tabelle hinzuzufügen. Nützlich z.B. nach einem Import. Manchmal klappt das allerdings nicht. Mir ist noch nicht klar in welchen Fälen nicht. Evtl. wenn mehr als eine Pagetable auf der Seite vorhanden ist. Es gibt Snippets um Seiten hinzuzufügen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$pp = $pages-&amp;gt;get(1234); // page you&amp;#039;re adding the children to the page table&lt;br /&gt;
$page-&amp;gt;of(false);// needed in some cases (Stephan)&lt;br /&gt;
foreach($pp-&amp;gt;children as $child) {&lt;br /&gt;
     $pp-&amp;gt;page_table_field-&amp;gt;add($child);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Quelle: https://processwire.com/talk/topic/8177-page-table-howto/&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Backend_anpassen&amp;diff=23335</id>
		<title>ProcessWire - Backend anpassen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Backend_anpassen&amp;diff=23335"/>
		<updated>2018-10-05T07:42:51Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Templates für Backend Files ==&lt;br /&gt;
 https://processwire.com/blog/posts/processwire-3.0.7-expands-field-rendering-page-path-history-and-more/#field-rendering-with-template-files&lt;br /&gt;
&lt;br /&gt;
== Felder in Abhängigkeit von bestimmten Bedingungen (Feldern/Selectoren/PHP) anzeigen ==&lt;br /&gt;
 http://modules.processwire.com/modules/custom-inputfield-dependencies/&lt;br /&gt;
&lt;br /&gt;
== Select Field basierend auf anderen Feldern ==&lt;br /&gt;
 http://modules.processwire.com/modules/fieldtype-select-relation/&lt;br /&gt;
&lt;br /&gt;
== New Button in Seitenliste entfernen ==&lt;br /&gt;
 https://processwire.com/talk/topic/15417-remove-new-button-from-pages-list-view/&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Fieldtype_PageTable_(free_ProField)&amp;diff=23334</id>
		<title>Fieldtype PageTable (free ProField)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Fieldtype_PageTable_(free_ProField)&amp;diff=23334"/>
		<updated>2018-10-05T07:34:03Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ProcessWire Fieldtype PageTable&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Verwaltet eine Kollektion von frei definierbaren Feldern. In sofern ähnlich wie Repeater.&lt;br /&gt;
* Der User kann so viele Datensätze daraus erzeugen wie er möchte. ProcessWire entsprechend ist jeder Datensatz technisch gesehen eine Seite.&lt;br /&gt;
* Processwire erzeugt automatisch diese Unterseiten oder Seiten unterhalb einer definierten Elternseite für jeden Datensatz. Repeater tun das eigentlich auch, allerdings sind die Kindseiten automatisch (und nicht sehr Userfreundlich) benannt und liegen unter der Admin Seite.&lt;br /&gt;
* Die Kindseiten (Datensätze) können unterschiedliche Templates zur Ausgabe haben. Bei Repeatern geht das nicht.&lt;br /&gt;
&lt;br /&gt;
== Tipps und Tricks ==&lt;br /&gt;
=== Unterseiten zur Pagetable hinzufügen ===&lt;br /&gt;
 https://processwire.com/talk/topic/18986-solved-profields-page-table-auto-add-chidlren/&lt;br /&gt;
 https://processwire.com/talk/topic/8177-page-table-howto/&lt;br /&gt;
&lt;br /&gt;
Pagetable erkennt meistens wenn neue Unterseiten hinzugekommen sind und bietet an Sie der Tabelle hinzuzufügen. Nützlich z.B. nach einem Import. Manchmal klappt das allerdings nicht. Mir ist noch nicht klar in welchen Fälen nicht. Evtl. wenn mehr als eine Pagetable auf der Seite vorhanden ist. Es gibt Snippets um Seiten hinzuzufügen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$pp = $pages-&amp;gt;get(1234); // page you&amp;#039;re adding the children to the page table&lt;br /&gt;
&lt;br /&gt;
foreach($pp-&amp;gt;children as $child) {&lt;br /&gt;
     $pp-&amp;gt;page_table_field-&amp;gt;add($child);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Quelle: https://processwire.com/talk/topic/8177-page-table-howto/&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Fieldtype_PageTable_(free_ProField)&amp;diff=23333</id>
		<title>Fieldtype PageTable (free ProField)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Fieldtype_PageTable_(free_ProField)&amp;diff=23333"/>
		<updated>2018-10-05T06:34:28Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ProcessWire Fieldtype PageTable&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Verwaltet eine Kollektion von frei definierbaren Feldern. In sofern ähnlich wie Repeater.&lt;br /&gt;
* Der User kann so viele Datensätze daraus erzeugen wie er möchte. ProcessWire entsprechend ist jeder Datensatz technisch gesehen eine Seite.&lt;br /&gt;
* Processwire erzeugt automatisch diese Unterseiten oder Seiten unterhalb einer definierten Elternseite für jeden Datensatz. Repeater tun das eigentlich auch, allerdings sind die Kindseiten automatisch (und nicht sehr Userfreundlich) benannt und liegen unter der Admin Seite.&lt;br /&gt;
* Die Kindseiten (Datensätze) können unterschiedliche Templates zur Ausgabe haben. Bei Repeatern geht das nicht.&lt;br /&gt;
&lt;br /&gt;
== Tipps und Tricks ==&lt;br /&gt;
=== Unterseiten zur Pagetable hinzufügen ===&lt;br /&gt;
Pagetable erkennt meistens wenn neue Unterseiten hinzugekommen sind und bietet an Sie der Tabelle hinzuzufügen. Nützlich z.B. nach einem Import. Manchmal klappt das allerdings nicht. Mir ist noch nicht klar in welchen Fälen nicht. Evtl. wenn mehr als eine Pagetable auf der Seite vorhanden ist. Es gibt Snippets um Seiten hinzuzufügen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$pp = $pages-&amp;gt;get(1234); // page you&amp;#039;re adding the children to the page table&lt;br /&gt;
&lt;br /&gt;
foreach($pp-&amp;gt;children as $child) {&lt;br /&gt;
     $pp-&amp;gt;page_table_field-&amp;gt;add($child);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Quelle: https://processwire.com/talk/topic/8177-page-table-howto/&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Backend_anpassen&amp;diff=23332</id>
		<title>ProcessWire - Backend anpassen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Backend_anpassen&amp;diff=23332"/>
		<updated>2018-10-04T16:20:48Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Templates für Backend Files ==&lt;br /&gt;
https://processwire.com/blog/posts/processwire-3.0.7-expands-field-rendering-page-path-history-and-more/#field-rendering-with-template-files&lt;br /&gt;
&lt;br /&gt;
== Felder in Abhängigkeit von bestimmten Bedingungen (Feldern/Selectoren/PHP) anzeigen ==&lt;br /&gt;
http://modules.processwire.com/modules/custom-inputfield-dependencies/&lt;br /&gt;
&lt;br /&gt;
== Select Field basierend auf anderen Feldern ==&lt;br /&gt;
http://modules.processwire.com/modules/fieldtype-select-relation/&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Editor&amp;diff=23331</id>
		<title>ProcessWire - Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Editor&amp;diff=23331"/>
		<updated>2018-10-04T11:00:18Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Probleme beheben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;HINWEIS: Bei Änderungen an den Styles unbedingt Modul-Cache löschen (Module &amp;gt; Aktualisieren)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
 https://processwire.com/talk/topic/3023-module-ckeditor/&lt;br /&gt;
 https://processwire.com/talk/topic/14601-solved-ckeditor-custom-stylesclasses/&lt;br /&gt;
 https://processwire.com/talk/topic/19465-ckeditor-styles-dropdown-tips/&lt;br /&gt;
&lt;br /&gt;
== Der CKEditor ==&lt;br /&gt;
Ist der Standard Editor in PW. Es gibt auch Module mit denen man Ihn ersetzen kann. Im Prinzip aber ein mächtiges Werkzeug.&lt;br /&gt;
&lt;br /&gt;
Hinweis: In neueren Versionen von PW (mindestens ab V3) Sind einige der Angaben unten überholt. Zum Teil funktionieren Sie aber ncoh. Als Referenz bleiben Die Tutorials auf dieser Seite unten erhalten&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
Im Backend anpassen&lt;br /&gt;
=== Format Stile ===&lt;br /&gt;
In der Feldkonfiguration unter&lt;br /&gt;
 Input &amp;gt; Format Tags&lt;br /&gt;
 &lt;br /&gt;
=== Eigene Styles ===&lt;br /&gt;
Im Styles Dropdown kann man eigene Stile inklusive Klassen definieren.&lt;br /&gt;
==== Styles Dropdown Feld im Editor aktivieren ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1. Styles Dropdown aktivieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Feldkonfiguration unter CK Editor Toolbar&lt;br /&gt;
 Styles&lt;br /&gt;
hinzufügen (am besten hinter Format)&lt;br /&gt;
&lt;br /&gt;
==== Eigene Stildefinitionen in der Styles Datei ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 2.Styles Datei hinzufügen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Datei unter Eigenes JS Styles Set angeben...&lt;br /&gt;
 customstyles:/site/modules/InputfieldCKEditor/mystyles.js&lt;br /&gt;
und Datei anlegen. Die sieht z.B. so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  CKEDITOR.stylesSet.add( &amp;#039;customstyles&amp;#039;, [&lt;br /&gt;
   { name: &amp;#039;Home Icon&amp;#039;, element: &amp;#039;i&amp;#039;, attributes: {&amp;#039;class&amp;#039;: &amp;#039;fa fa-home fa-2x&amp;#039;}},&lt;br /&gt;
   { name: &amp;#039;Panel Title&amp;#039;, element: &amp;#039;h4&amp;#039;, attributes: {&amp;#039;class&amp;#039;: &amp;#039;panel-title&amp;#039;} },&lt;br /&gt;
  ]);&lt;br /&gt;
  CKEDITOR.dtd.$removeEmpty[&amp;#039;i&amp;#039;] = false; // leere i Tags erlauben (für font awesome)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hinweis: &amp;#039;&amp;#039;&amp;#039;Nicht mystyles:&amp;#039;&amp;#039;&amp;#039;/site/... Verwenden das führt zu Problemen im Backend. Mal sind die Stile da mal nicht. Also z.B. &amp;#039;&amp;#039;&amp;#039;customstyles in der Pfadangabe UND in der Datei verwenden.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Extra Allowed Content ===&lt;br /&gt;
Manche Tags werden ausgefiltert. Eigentlich sollte man im Backend CKEditor Extra Allowed Content Regeln anlegen können. Aber Vorsicht: Der &amp;#039;&amp;#039;&amp;#039;HTML Purifier filtert&amp;#039;&amp;#039;&amp;#039; zusätzlich Tags aus. (z.B. Button Tags) Also im Zweifel mal diesen ausschalten. &lt;br /&gt;
 site-&amp;gt;modules-&amp;gt;InputfieldCKEditor-&amp;gt;mystyle.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
config.allowedContent = true;&lt;br /&gt;
config.extraAllowedContent = &amp;#039;p(*)[*]{*};div(*)[*]{*};li(*)[*]{*};ul(*)[*]{*}&amp;#039;;&lt;br /&gt;
CKEDITOR.dtd.$removeEmpty.i = 0; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== i Tag erlauben (Möglichkeit 2)====&lt;br /&gt;
Siehe oben und erlaube&lt;br /&gt;
 // ALLOW &amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
 config.protectedSource.push(/&amp;lt;i[^&amp;gt;]*&amp;gt;&amp;lt;\/i&amp;gt;/g);&lt;br /&gt;
&lt;br /&gt;
== CKEditor allgemeines Wissen ==&lt;br /&gt;
Ein paar Infos zu CKEditor ohne PW. Viele Dinge sind ähnlich.&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
==== Toolbar ====&lt;br /&gt;
http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Toolbar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Plugins ===&lt;br /&gt;
Werden normalerweise mit einem Builder implementiert. Das geht bei PW nicht. Aber es gelten zum Teil die Regeln für Manuelle Installation. Manche Schritte z.B. aktivieren der Plugins macht man in PW aber wahlweise über die Feldkonfiguration.&lt;br /&gt;
&lt;br /&gt;
Beispiel Widget Plugin:&lt;br /&gt;
&lt;br /&gt;
If you want to add the plugin manually, you will need to:&lt;br /&gt;
* Extract the downloaded plugin .zip into the plugins folder of your CKEditor installation. Example:&lt;br /&gt;
 http://example.com/ckeditor/plugins/widget&lt;br /&gt;
* Enable the plugin by using the extraPlugins configuration setting. Example:&lt;br /&gt;
 config.extraPlugins = &amp;#039;widget&amp;#039;; &lt;br /&gt;
* Download and configure all its &amp;#039;&amp;#039;&amp;#039;dependencies&amp;#039;&amp;#039;&amp;#039;, too.&lt;br /&gt;
In PW&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
&lt;br /&gt;
=== Praktisches Beispiel 1===&lt;br /&gt;
&lt;br /&gt;
Im Tab Eingabe des Editor Felds kann man verschiedene Dinge Einstellen. Die meisten Felder sind auch recht gut erklärt:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Editor Toolbar einstellen&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Interessant ist hier der &amp;#039;&amp;#039;&amp;#039;Eintrag Styles&amp;#039;&amp;#039;&amp;#039;. Das Formatdialogfeld formatiert einzelne Blockstile wie h1 oder p. Im Styles Dropdown kann man auch Umgebende Blockelemente wie z.B. Divs mit speziellen Klassen nutzen. &lt;br /&gt;
&lt;br /&gt;
Guter Standard mit Tabellen und Styles Dropdown&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Format, Styles, -, Bold, Italic,Superscript, -,JustifyLeft,JustifyCenter,JustifyRight,-, RemoveFormat&lt;br /&gt;
NumberedList, BulletedList, -, Blockquote&lt;br /&gt;
PWLink, Unlink, Anchor&lt;br /&gt;
&lt;br /&gt;
PWImage, Table, HorizontalRule, SpecialChar&lt;br /&gt;
PasteText, PasteFromWord,-,Undo,Redo&lt;br /&gt;
Scayt, -, Sourcedialog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tags formatieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Hier kann man festlegen welche &amp;#039;&amp;#039;&amp;#039;Tags im Format Dropdown&amp;#039;&amp;#039;&amp;#039; ausgewählt werden können. Hier ein Beispiel bei dem wir h1 weglassen. H1 wird oft über das Template selbst ausgegeben und sollte nur einmal pro Seite auftauchen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
p;h2;h3;h4;h5;h6;pre;address&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Styles festlegen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Um die oben erwähnten Styles anzupassen wir eine kleine JavaScript Datei. Wo diese liegt legen wir im Abschnitt &amp;#039;&amp;#039;&amp;#039;Eigenes Editor-JS-Style-Set&amp;#039;&amp;#039;&amp;#039; fest. Wir nutzen den bereits vorgeschlagenen Pfad tragen diesen ein und legen die Datei an:&lt;br /&gt;
 customstyles:/site/modules/InputfieldCKEditor/mystyles.js&lt;br /&gt;
&lt;br /&gt;
UIkit Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
CKEDITOR.stylesSet.add( &amp;#039;customstyles&amp;#039;, [&lt;br /&gt;
 /* Blockstyles */&lt;br /&gt;
 { name: &amp;#039;Zweispalter&amp;#039;, element: &amp;#039;div&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-column-1-2@s&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Dreipalter&amp;#039;, element: &amp;#039;div&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-column-1-2@s uk-column-1-3@m&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Vierspalter&amp;#039;, element: &amp;#039;div&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-column-1-2@s uk-column-1-4@m&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Heading Divider&amp;#039;, element: &amp;#039;h3&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-heading-divider&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Heading Line&amp;#039;, element: &amp;#039;h&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-heading-line&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Heading Bullet&amp;#039;, element: &amp;#039;h&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-heading-bullet&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Liste mit Kugel (UIkit)&amp;#039;, element: &amp;#039;ul&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-list uk-list-bullet&amp;#039;}},&lt;br /&gt;
 { name: &amp;#039;Liste mit Linie (UIkit)&amp;#039;, element: &amp;#039;ul&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-list uk-list-divide&amp;#039;}}&lt;br /&gt;
/* Inline Styles */&lt;br /&gt;
{ name: &amp;#039;Klein (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-small&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Groß (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-large&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Kleinbuchstaben (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-lowercase&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Großbuchstaben (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-uppercase&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Kapitälchen (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-capitalize&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Muted (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-muted&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Primär (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-primary&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Erfolg (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-success&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Warnung (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-warning&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Gefahr (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-danger&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Klein&amp;#039;, element: &amp;#039;small&amp;#039; },&lt;br /&gt;
{ name: &amp;#039;Gel&amp;amp;ouml;scht&amp;#039;, element: &amp;#039;del&amp;#039; },&lt;br /&gt;
{ name: &amp;#039;Eingefügt&amp;#039;, element: &amp;#039;ins&amp;#039; },&lt;br /&gt;
{ name: &amp;#039;Zitat&amp;#039;, element: &amp;#039;cite&amp;#039; }&lt;br /&gt;
]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hinweis: Span Elemente sind oft p Elementen vorzuziehen, da sie Inline angewendet werden können. So ist es möglich einen Muted Text innerhalb eines Absatzes einzusetzen.&lt;br /&gt;
&lt;br /&gt;
Einfaches Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
CKEDITOR.stylesSet.add( &amp;#039;customstyles&amp;#039;, [&lt;br /&gt;
 { name: &amp;#039;Mein Spezialabsatz&amp;#039;, element: &amp;#039;p&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;myParagraphStyle&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Klein&amp;#039;, element: &amp;#039;small&amp;#039; },&lt;br /&gt;
 { name: &amp;#039;Gelöscht&amp;#039;, element: &amp;#039;del&amp;#039; },&lt;br /&gt;
 { name: &amp;#039;Eingefügt&amp;#039;, element: &amp;#039;ins&amp;#039; },&lt;br /&gt;
 { name: &amp;#039;Zitat&amp;#039;, element: &amp;#039;cite&amp;#039; }&lt;br /&gt;
]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Stile im Editor einbinden &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Weiter Forum Beispiele ==&lt;br /&gt;
https://processwire.com/talk/topic/9606-how-to-configure-ckeditortextarea-field-to-enable-color-toolbar/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Konfiguration CKEditor in PW (alt)==&lt;br /&gt;
&lt;br /&gt;
 /sites &lt;br /&gt;
ausgelagert und somit auch Updatefähig. Abschauen kann man im original Modul in &lt;br /&gt;
 wire/site/modules/InputfieldCKEditor/&lt;br /&gt;
Dort gibe es diverse Dateien. Allerdings ist nicht alles möglich, was in der CKEditor Doku steht. In PW können scheinbar manche Einstellungen nicht über die Dateien geregelt werden.&lt;br /&gt;
&lt;br /&gt;
=== Wo stellt man was ein ? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; Nicht alles was hier steht funktioniert auch so. Am besten im Backend in der Feldkonfiguration schauen und dort die Pfade anpassen.&lt;br /&gt;
Ordner:&lt;br /&gt;
 site/modules/InputfieldCKEditor/&lt;br /&gt;
Konfiguration gültig &amp;#039;&amp;#039;&amp;#039;für alle Felder im Backend&amp;#039;&amp;#039;&amp;#039; (hat bei mir bisher nicht ohne die Backendkonfiguration für das Feld funktioniert)&lt;br /&gt;
 config.js&lt;br /&gt;
Konfiguration für ein bestimmtes Feld falls vorhanden&lt;br /&gt;
 config.[fieldname.]js &lt;br /&gt;
 mystyles.js -&amp;gt; ein selbstbenanntes Feld kann im Backend bei der Konfiguration des CKEditor Feldes angegeben werden.&lt;br /&gt;
&lt;br /&gt;
Allgemeine Konfiguration. Z.B. Styles hinzufügen, removeFormatTags, &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Alles was der Editor beim Eingeben mit &amp;#039;&amp;#039;&amp;#039;JavaScript&amp;#039;&amp;#039;&amp;#039; bearbeitet. Außerdem &amp;#039;&amp;#039;&amp;#039;Style Auswahl anpassen&amp;#039;&amp;#039;&amp;#039; alle Optionen die mit &amp;#039;&amp;#039;&amp;#039;CKEDITOR.&amp;#039;&amp;#039;&amp;#039; anfangen&lt;br /&gt;
 content.css&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Stile die der Editor bei der Eingabe benutzt. Also quasi die Vorschau für den Benutzer.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 contents-inline.css&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Stile für die Vorschau beim Inline Editor&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Feldkonfiguration im Admin Bereich PW&lt;br /&gt;
&lt;br /&gt;
Hier muß die &amp;#039;&amp;#039;&amp;#039;Toolbar&amp;#039;&amp;#039;&amp;#039; eingestellt werden. Über Konfig hat es bisher nicht geklappt. Hier muss auch die &amp;#039;&amp;#039;&amp;#039;CSS Datei für die Inline Styles&amp;#039;&amp;#039;&amp;#039; angegeben werden. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Überschreiben in der config.js&amp;#039;&amp;#039;&amp;#039; hat bei mir nicht funktioniert - in aktueller Version 3.062 klappt es..&lt;br /&gt;
&lt;br /&gt;
 Auch &amp;#039;&amp;#039;&amp;#039;Plugins&amp;#039;&amp;#039;&amp;#039; müssen hier ausgewählt werden, damit sie eingebunden werden. Dies funktioniert also alles nur auf Feld-Ebene und nicht global.&lt;br /&gt;
=== CKEditor Buttons anpassen===&lt;br /&gt;
Wenn man ein Textarea Feld definiert, kann man auch für dieses Feld den CKEditor anpassen. Das geht im Backend in der &amp;#039;&amp;#039;&amp;#039;Feldkonfiguration unter dem Reiter Eingabe.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Beispiel: Hier werden &amp;#039;&amp;#039;&amp;#039;Buttons für die Textausrichtung hinzugefügt.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Format, Styles, -, Bold, Italic,Superscript, -,JustifyLeft,JustifyCenter,JustifyRight,-, RemoveFormat&lt;br /&gt;
NumberedList, BulletedList, -, Blockquote&lt;br /&gt;
PWLink, Unlink, Anchor&lt;br /&gt;
&lt;br /&gt;
PWImage, Table, HorizontalRule, SpecialChar&lt;br /&gt;
PasteText, PasteFromWord,-,Undo,Redo&lt;br /&gt;
Scayt, -, Sourcedialog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Default Einstellungen ===&lt;br /&gt;
Todo: TESTEN ob das wirklich funktioniert&lt;br /&gt;
Kann man im Modulverzeichnis unter site/modules hinterlegen. Achtung nicht im Modulverzeichnis unter wire überschreiben. Das ist beim nächsten Update weg.&lt;br /&gt;
 /site/modules/InputfieldCKEditor/config.js -&amp;gt; überschreibt oder ergänzt die Default Einstellung&lt;br /&gt;
 /site/modules/InputfieldCKEditor/config.body.js -&amp;gt; überschreibt oder ergänzt das body Feld&lt;br /&gt;
Beispiele:&lt;br /&gt;
 config.startupOutlineBlocks = true;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CKEDITOR.editorConfig = function( config ) {&lt;br /&gt;
	config.justifyClasses = [ &amp;#039;left&amp;#039;, &amp;#039;center&amp;#039;, &amp;#039;right&amp;#039;, &amp;#039;justify&amp;#039; ];&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Leider funktionieren viele Einstellungen hier nicht, die im original CKEditor möglich sind.&lt;br /&gt;
&lt;br /&gt;
=== Eigene Styles ===&lt;br /&gt;
Eigene Stile zur Auswahl im &amp;#039;&amp;#039;&amp;#039;Styles&amp;#039;&amp;#039;&amp;#039; Dropdown&lt;br /&gt;
 site-&amp;gt;modules-&amp;gt;InputfieldCKEditor-&amp;gt;mystyles.js&lt;br /&gt;
anpassen.&lt;br /&gt;
Im Backend den Pfad hinzufügen (siehe Beispiel unten)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konfigurationsbeispiele ===&lt;br /&gt;
Im Adminbereich im content_main Feld:&lt;br /&gt;
&lt;br /&gt;
==== CKEditor Toolbar ====&lt;br /&gt;
Added justify buttons...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Format, Styles, -, Bold, Italic, Superscript, -,JustifyLeft ,JustifyCenter ,JustifyRight , -, RemoveFormat&lt;br /&gt;
NumberedList, BulletedList, -, Blockquote&lt;br /&gt;
&lt;br /&gt;
PWLink, Unlink, Anchor, PWImage, Table, HorizontalRule, SpecialChar&lt;br /&gt;
PasteText, PasteFromWord,-,Undo,Redo&lt;br /&gt;
Scayt, -, Sourcedialog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blöcke anzeigen, Smileys&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Format, Styles, -, Bold, Italic, Underline, Strike, Superscript, Subscript,&lt;br /&gt;
JustifyLeft ,JustifyCenter ,JustifyRight , -,  &lt;br /&gt;
NumberedList, BulletedList, -, Blockquote&lt;br /&gt;
&lt;br /&gt;
PWLink, Unlink, Anchor, PWImage, Table, HorizontalRule, SpecialChar, Smiley, ShowBlocks, RemoveFormat,&lt;br /&gt;
PasteText, PasteFromWord,-, Undo, Redo, -, Sourcedialog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Custom Editor CSS File ====&lt;br /&gt;
Für die &amp;#039;&amp;#039;&amp;#039;im Editor angezeigten Stile&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 site/modules/InputfieldCKEditor/contents.css&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
@import url(&amp;#039;../../templates/vendors/fa/css/font-awesome.min.css&amp;#039;);&lt;br /&gt;
@import url(&amp;#039;../../templates/vendors/bootstrap/css/bootstrap.min.css&amp;#039;);&lt;br /&gt;
@import url(&amp;#039;../../templates/css/main.css&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
.cke_editable {&lt;br /&gt;
	font-size: 14px;&lt;br /&gt;
	line-height: 1.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cke_contents_ltr blockquote {&lt;br /&gt;
	padding-left: 20px;&lt;br /&gt;
	padding-right: 8px;&lt;br /&gt;
	border-left-width: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cke_contents_rtl blockquote {&lt;br /&gt;
	padding-left: 8px;&lt;br /&gt;
	padding-right: 20px;&lt;br /&gt;
	border-right-width: 5px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Custom Editor JS File ====&lt;br /&gt;
&lt;br /&gt;
Für die Auswahlfelder in der &amp;#039;&amp;#039;&amp;#039;Toolbar&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 customstyles:/site/modules/InputfieldCKEditor/mystyles.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  CKEDITOR.stylesSet.add( &amp;#039;mystyles&amp;#039;, [&lt;br /&gt;
   { name: &amp;#039;Home Icon&amp;#039;, element: &amp;#039;i&amp;#039;, attributes: {&amp;#039;class&amp;#039;: &amp;#039;fa fa-home fa-2x&amp;#039;}},&lt;br /&gt;
   { name: &amp;#039;Panel Title&amp;#039;, element: &amp;#039;h4&amp;#039;, attributes: {&amp;#039;class&amp;#039;: &amp;#039;panel-title&amp;#039;} },&lt;br /&gt;
  ]);&lt;br /&gt;
  CKEDITOR.dtd.$removeEmpty[&amp;#039;i&amp;#039;] = false; // leere i Tags erlauben (für font awesome)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== config.js ====&lt;br /&gt;
In /site/modules/InputfieldCKEditor/config.js (oder config.feldname.js)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
CKEDITOR.editorConfig = function( config ) {&lt;br /&gt;
  config.uiColor = &amp;#039;#AADC6E&amp;#039;;&lt;br /&gt;
  config.coreStyles_italic = { element : &amp;#039;i&amp;#039;, overrides : &amp;#039;em&amp;#039; }; // i nicht durch em überschreiben (für font awesome)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Plugins hinzufügen ===&lt;br /&gt;
* https://weekly.pw/issue/13/#1-2 -&amp;gt; Plugins für CK Editor etc.&lt;br /&gt;
&lt;br /&gt;
== Probleme beheben ==&lt;br /&gt;
=== Bilder - width Attribut beschränkt auf max. 1200px ===&lt;br /&gt;
 https://processwire.com/talk/topic/9615-skip-width-attributes-on-img/&lt;br /&gt;
Der HTML Purifier ist hier das eigentliche Problem. Er beschränkt den Wert auf max 1200. Entweder den HTML Purifier abschalten (in der Feldkonfiguration) oder &lt;br /&gt;
 wire/modules/Markup/MarkupHTMLPurifier/htmlpurifier/standalone/HTMLPurifier/ConfigSchema/schema.ser&lt;br /&gt;
There look for this bit... &amp;quot;HTML.MaxImgLength&amp;quot;;i:1200&lt;br /&gt;
Change 1200 to your desired maximum value.&lt;br /&gt;
&lt;br /&gt;
=== Cursor springt an den Anfang zurück ===&lt;br /&gt;
&lt;br /&gt;
=== Eigene Styles funktionieren nicht ===&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Todo&amp;diff=23330</id>
		<title>Todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Todo&amp;diff=23330"/>
		<updated>2018-10-04T08:10:55Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ProcessWire Doku&lt;br /&gt;
&lt;br /&gt;
* Blog Strategie Dokumentieren&lt;br /&gt;
* Auf Events übertragen (Genehmigen von Events, die über ein Formular kommen)&lt;br /&gt;
* Neue Inhaltselemente dokumentieren (Sticky Flags, Wochenkalender, Wochenkalender-Today Ansicht)&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Profields&amp;diff=23329</id>
		<title>ProcessWire - Profields</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Profields&amp;diff=23329"/>
		<updated>2018-09-29T08:01:30Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Table (ProField) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Siehe auch&lt;br /&gt;
[[Processwire - Field Types Usage]] - welche Fieldtypes für was?&lt;br /&gt;
&lt;br /&gt;
[[Processwire - Repeater Fields]]&lt;br /&gt;
&lt;br /&gt;
[[Processwire - Flexible Content Type]]&lt;br /&gt;
&lt;br /&gt;
ProFields ist ein Bundle aus mehreren sehr nützlichen Plugins zur besseren Verwaltung von Inhalten im Backend.&lt;br /&gt;
&lt;br /&gt;
== Textareas (ProField) ==&lt;br /&gt;
https://www.youtube.com/watch?v=rNMNRpg5sv0&lt;br /&gt;
&lt;br /&gt;
Mit Textareas kann man &amp;#039;&amp;#039;&amp;#039;mehrere Textarea Felder in eines bundeln&amp;#039;&amp;#039;&amp;#039;. Dabei gelten alle Einstellungen für alle Felder. gruppieren. Z.B. bei Produkten, Projekten, Piratenschiffen kann man alle Eigenschaften in eine Textarea setzen. Im Backend muß man dann nur noch ein Feld statt vieler in das Template einsetzen. &lt;br /&gt;
&lt;br /&gt;
Diese Daten sind strukturierter und komplexer im Layout als die Table-Fields oder Repeater Fields&lt;br /&gt;
&lt;br /&gt;
== Multiplier (ProField)==&lt;br /&gt;
Mit dem Multiplier kann der Benutzer Felder verdoppeln. Nützlich für Listen aller Art. Man kann max und min Anzahl begrenzen. Drag and Drop Sort ist für den User möglich.&lt;br /&gt;
&lt;br /&gt;
== Table (ProField)==&lt;br /&gt;
https://www.youtube.com/watch?v=Kws6tTh2DUQ&lt;br /&gt;
&lt;br /&gt;
Ist als &amp;#039;&amp;#039;&amp;#039;Repeater Field mit weit weniger Overhead&amp;#039;&amp;#039;&amp;#039; gedacht. Oder bei &amp;#039;&amp;#039;&amp;#039;typischen Tabellendaten&amp;#039;&amp;#039;&amp;#039;. Man legt eine Anzahl von Feldern mit unterschiedlichen Typen an. Ähnlich wie z.B. eine mySQL Tabelle. Diese kann der User im Backend mit Inhalten füllen und auch mehrere Datensätze (Zeilen) erstellen.&lt;br /&gt;
&lt;br /&gt;
Im Hintergrund wird eine eigene Tabelle in der Datenbank erzeugt und direkt auf diese Daten zugegriffen. Hohe Performance bei einfach strukturierten Daten. Nachteil, man kann keine ganz so komplexen Backend Layouts machen wie bei Repeatern.&lt;br /&gt;
&lt;br /&gt;
Zur Ausgabe gibt es eine Renderfunktion, die automatisch Tabellen erzeugt. Man kann natürlich auch selber seine Ausgabe erzeugen. Die Daten lassen sich leicht Filtern oder sortieren.&lt;br /&gt;
&lt;br /&gt;
Beispiele: Reisedaten Log, Produkte, Lagerhaltung, Kunden...&lt;br /&gt;
&lt;br /&gt;
Die Konfiguration der Felder erfolgt über eine Textarea. Wenn man weiß wie die Optionen heißen geht das schnell. Im Hinweis sind z.T. nicht alle Optionen aufgeführt. Z.B.  gibt es bei den Datetime Feldern die Option size für die Breite der Felder.&lt;br /&gt;
 size=8&lt;br /&gt;
&lt;br /&gt;
== RepeaterMatrix (ProField) ==&lt;br /&gt;
https://processwire.com/api/modules/profields/repeater-matrix/&lt;br /&gt;
&lt;br /&gt;
https://processwire.com/blog/posts/more-repeaters-repeater-matrix-and-new-field-rendering/&lt;br /&gt;
&lt;br /&gt;
Ähnlich wie der Field Type PageTable. Ermöglicht Setups, die den Editor ersetzen und dem User ermöglichen verschiedene Inhaltstypen zu wählen und wiederholt einzusetzen.&lt;br /&gt;
&lt;br /&gt;
Technisch gesehen sind die erzeugten Elemente PageObjekte.&lt;br /&gt;
&lt;br /&gt;
== PageTable (ProField) ==&lt;br /&gt;
Todo&lt;br /&gt;
== Anwendung ==&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Profields&amp;diff=23328</id>
		<title>ProcessWire - Profields</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Profields&amp;diff=23328"/>
		<updated>2018-09-28T14:22:44Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Siehe auch&lt;br /&gt;
[[Processwire - Field Types Usage]] - welche Fieldtypes für was?&lt;br /&gt;
&lt;br /&gt;
[[Processwire - Repeater Fields]]&lt;br /&gt;
&lt;br /&gt;
[[Processwire - Flexible Content Type]]&lt;br /&gt;
&lt;br /&gt;
ProFields ist ein Bundle aus mehreren sehr nützlichen Plugins zur besseren Verwaltung von Inhalten im Backend.&lt;br /&gt;
&lt;br /&gt;
== Textareas (ProField) ==&lt;br /&gt;
https://www.youtube.com/watch?v=rNMNRpg5sv0&lt;br /&gt;
&lt;br /&gt;
Mit Textareas kann man &amp;#039;&amp;#039;&amp;#039;mehrere Textarea Felder in eines bundeln&amp;#039;&amp;#039;&amp;#039;. Dabei gelten alle Einstellungen für alle Felder. gruppieren. Z.B. bei Produkten, Projekten, Piratenschiffen kann man alle Eigenschaften in eine Textarea setzen. Im Backend muß man dann nur noch ein Feld statt vieler in das Template einsetzen. &lt;br /&gt;
&lt;br /&gt;
Diese Daten sind strukturierter und komplexer im Layout als die Table-Fields oder Repeater Fields&lt;br /&gt;
&lt;br /&gt;
== Multiplier (ProField)==&lt;br /&gt;
Mit dem Multiplier kann der Benutzer Felder verdoppeln. Nützlich für Listen aller Art. Man kann max und min Anzahl begrenzen. Drag and Drop Sort ist für den User möglich.&lt;br /&gt;
&lt;br /&gt;
== Table (ProField)==&lt;br /&gt;
https://www.youtube.com/watch?v=Kws6tTh2DUQ&lt;br /&gt;
&lt;br /&gt;
Ist als &amp;#039;&amp;#039;&amp;#039;Repeater Field mit weit weniger Overhead&amp;#039;&amp;#039;&amp;#039; gedacht. Oder bei &amp;#039;&amp;#039;&amp;#039;typischen Tabellendaten&amp;#039;&amp;#039;&amp;#039;. Man legt eine Anzahl von Feldern mit unterschiedlichen Typen an. Ähnlich wie z.B. eine mySQL Tabelle. Diese kann der User im Backend mit Inhalten füllen und auch mehrere Datensätze (Zeilen) erstellen.&lt;br /&gt;
&lt;br /&gt;
Im Hintergrund wird eine eigene Tabelle in der Datenbank erzeugt und direkt auf diese Daten zugegriffen. Hohe Performance bei einfach strukturierten Daten. Nachteil, man kann keine ganz so komplexen Backend Layouts machen wie bei Repeatern.&lt;br /&gt;
&lt;br /&gt;
Zur Ausgabe gibt es eine Renderfunktion, die automatisch Tabellen erzeugt. Man kann natürlich auch selber seine Ausgabe erzeugen. Die Daten lassen sich leicht Filtern oder sortieren.&lt;br /&gt;
&lt;br /&gt;
Beispiele: Reisedaten Log, Produkte, Lagerhaltung, Kunden...&lt;br /&gt;
&lt;br /&gt;
== RepeaterMatrix (ProField) ==&lt;br /&gt;
https://processwire.com/api/modules/profields/repeater-matrix/&lt;br /&gt;
&lt;br /&gt;
https://processwire.com/blog/posts/more-repeaters-repeater-matrix-and-new-field-rendering/&lt;br /&gt;
&lt;br /&gt;
Ähnlich wie der Field Type PageTable. Ermöglicht Setups, die den Editor ersetzen und dem User ermöglichen verschiedene Inhaltstypen zu wählen und wiederholt einzusetzen.&lt;br /&gt;
&lt;br /&gt;
Technisch gesehen sind die erzeugten Elemente PageObjekte.&lt;br /&gt;
&lt;br /&gt;
== PageTable (ProField) ==&lt;br /&gt;
Todo&lt;br /&gt;
== Anwendung ==&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Profields&amp;diff=23327</id>
		<title>ProcessWire - Profields</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Profields&amp;diff=23327"/>
		<updated>2018-09-28T14:05:16Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Siehe auch&lt;br /&gt;
[[Processwire - Field Types Usage]] - welche Fieldtypes für was?&lt;br /&gt;
&lt;br /&gt;
[[Processwire - Repeater Fields]]&lt;br /&gt;
&lt;br /&gt;
[[Processwire - Flexible Content Type]]&lt;br /&gt;
&lt;br /&gt;
ProFields ist ein Bundle aus mehreren sehr nützlichen Plugins zur besseren Verwaltung von Inhalten im Backend.&lt;br /&gt;
&lt;br /&gt;
== Textareas (ProField) ===&lt;br /&gt;
https://www.youtube.com/watch?v=rNMNRpg5sv0&lt;br /&gt;
&lt;br /&gt;
Mit Textareas kann man &amp;#039;&amp;#039;&amp;#039;mehrere Textarea Felder in eines bundeln&amp;#039;&amp;#039;&amp;#039;. Dabei gelten alle Einstellungen für alle Felder. gruppieren. Z.B. bei Produkten, Projekten, Piratenschiffen kann man alle Eigenschaften in eine Textarea setzen. Im Backend muß man dann nur noch ein Feld statt vieler in das Template einsetzen. &lt;br /&gt;
&lt;br /&gt;
Diese Daten sind strukturierter und komplexer im Layout als die Table-Fields oder Repeater Fields&lt;br /&gt;
&lt;br /&gt;
== Multiplier (ProField)==&lt;br /&gt;
Mit dem Multiplier kann der Benutzer Felder verdoppeln. Nützlich für Listen aller Art. Man kann max und min Anzahl begrenzen. Drag and Drop Sort ist für den User möglich.&lt;br /&gt;
&lt;br /&gt;
== Table (ProField)==&lt;br /&gt;
https://www.youtube.com/watch?v=Kws6tTh2DUQ&lt;br /&gt;
&lt;br /&gt;
Ist als &amp;#039;&amp;#039;&amp;#039;Repeater Field mit weit weniger Overhead&amp;#039;&amp;#039;&amp;#039; gedacht. Oder bei &amp;#039;&amp;#039;&amp;#039;typischen Tabellendaten&amp;#039;&amp;#039;&amp;#039;. Man legt eine Anzahl von Feldern mit unterschiedlichen Typen an. Ähnlich wie z.B. eine mySQL Tabelle. Diese kann der User im Backend mit Inhalten füllen und auch mehrere Datensätze (Zeilen) erstellen.&lt;br /&gt;
&lt;br /&gt;
Im Hintergrund wird eine eigene Tabelle in der Datenbank erzeugt und direkt auf diese Daten zugegriffen. Hohe Performance bei einfach strukturierten Daten. Nachteil, man kann keine ganz so komplexen Backend Layouts machen wie bei Repeatern.&lt;br /&gt;
&lt;br /&gt;
Zur Ausgabe gibt es eine Renderfunktion, die automatisch Tabellen erzeugt. Man kann natürlich auch selber seine Ausgabe erzeugen. Die Daten lassen sich leicht Filtern oder sortieren.&lt;br /&gt;
&lt;br /&gt;
Beispiele: Reisedaten Log, Produkte, Lagerhaltung, Kunden...&lt;br /&gt;
&lt;br /&gt;
== RepeaterMatrix (ProField) ==&lt;br /&gt;
https://processwire.com/api/modules/profields/repeater-matrix/&lt;br /&gt;
&lt;br /&gt;
https://processwire.com/blog/posts/more-repeaters-repeater-matrix-and-new-field-rendering/&lt;br /&gt;
&lt;br /&gt;
Ähnlich wie der Field Type PageTable. Ermöglicht Setups, die den Editor ersetzen und dem User ermöglichen verschiedene Inhaltstypen zu wählen und wiederholt einzusetzen.&lt;br /&gt;
&lt;br /&gt;
Technisch gesehen sind die erzeugten Elemente PageObjekte.&lt;br /&gt;
&lt;br /&gt;
== Anwendung ==&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Selectors&amp;diff=23326</id>
		<title>ProcessWire - Selectors</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Selectors&amp;diff=23326"/>
		<updated>2018-09-27T10:59:53Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Suche in Daten die Seitenverweise enthalten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Operatoren ==&lt;br /&gt;
 http://cheatsheet.processwire.com/selectors/selector-operators/&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&lt;br /&gt;
=== Suche nach Seiten die Verweise auf bestimmte andere Seiten enthalten ===&lt;br /&gt;
https://processwire.com/talk/topic/5414-selector-find-page-reference-help/&lt;br /&gt;
&lt;br /&gt;
Es sollen Seiten gefunden werden die mit einer Page Reference auf eine andere Seite verweisen. Am einfachsten geht das wenn man nicht wie man zuerst vermutet nach der Seiten ID sucht, sondern wenn man direkt nach der Seite sucht&lt;br /&gt;
 team_name=$page&lt;br /&gt;
&lt;br /&gt;
=== Suche nach Phrasen in Daten die in Seitenverweise enthalten sind ===&lt;br /&gt;
https://processwire.com/talk/topic/570-searching-page-reference-fields/&lt;br /&gt;
&lt;br /&gt;
Es sollen Seiten gefunden werden, die Verweise auf andere Seiten enthalten. Beispielsweise enthalten Personen (Eltern) Links zu Notfalladressen die separat angelegt sind. Nun soll Nach Eltern gesucht werden, die eine bestimmte Notfalladresse enthalten. Gesucht wird nach einer Phrase im Notfalladrdessen Namen).&lt;br /&gt;
&lt;br /&gt;
Lösung: Es wird in zwei Schritten gesucht. &lt;br /&gt;
&lt;br /&gt;
1. Suche nach Kontakten mit dem Search Term im body und die dem template emergency-contact entsprechen&lt;br /&gt;
 $contacts = $pages-&amp;gt;find(&amp;quot;body*=&amp;#039;search term&amp;#039;, template=emergency-contact&amp;quot;); &lt;br /&gt;
2. Seiten die diesen Kontakten entsprechen&lt;br /&gt;
 $parents = $pages-&amp;gt;find(&amp;quot;emergency-contacts=$contacts&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
=== Selektoren in Option Fieldtypes ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$optionsfield // return id (string)&lt;br /&gt;
$optionsfield-&amp;gt;id; // return id (int)&lt;br /&gt;
$optionsfield-&amp;gt;title; // return string USE THIS or&lt;br /&gt;
$optionsfield-&amp;gt;value; // return empty string or value (if your option settings like &amp;#039;1=value|title&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
// dot syntax in selector string&lt;br /&gt;
$pages-&amp;gt;find(&amp;#039;optionsfield.id=2&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Seiten finden ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$skyscrapers = $pages-&amp;gt;find(&amp;quot;template=skyscraper, sort=-modified&amp;quot;);&lt;br /&gt;
foreach($skyscrapers as $skyscraper) {&lt;br /&gt;
    echo &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;$skyscraper-&amp;gt;url&amp;#039;&amp;gt;$skyscraper-&amp;gt;title&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Page Reference auf diese Seite ===&lt;br /&gt;
https://processwire.com/talk/topic/1071-page-fieldtype-two-way-relation/&lt;br /&gt;
 echo $pages-&amp;gt;find(&amp;quot;field1=$page&amp;quot;)-&amp;gt;render();&lt;br /&gt;
If the page isn&amp;#039;t part of the front-end site, then I&amp;#039;ll remove view access from its template. Or if it is part of the front-end, but I don&amp;#039;t want to show the relations, then this:&lt;br /&gt;
&lt;br /&gt;
 if($page-&amp;gt;editable()) echo $pages-&amp;gt;find(&amp;quot;field1=$page&amp;quot;)-&amp;gt;render();&lt;br /&gt;
 &lt;br /&gt;
Though I almost always integrate these relation-revealing pages into the site structure, as it&amp;#039;s rare that this information doesn&amp;#039;t have some value to the site&amp;#039;s users too. This is an example of one that locates all pages referencing it in a field called &amp;#039;country&amp;#039;:&lt;br /&gt;
 https://www.tripsite.com/countries/croatia/&lt;br /&gt;
&lt;br /&gt;
=== Punkt Syntax ===&lt;br /&gt;
 $architects = $pages-&amp;gt;find(&amp;quot;template=architect, city.title=Chicago&amp;quot;); &lt;br /&gt;
 $buildings = $pages-&amp;gt;find(&amp;quot;architect=$architects&amp;quot;); &lt;br /&gt;
That&amp;#039;s easy enough, but wouldn&amp;#039;t it be nicer if you could just do this?&lt;br /&gt;
 $buildings = $pages-&amp;gt;find(&amp;quot;architect.city.title=Chicago&amp;quot;); &lt;br /&gt;
&lt;br /&gt;
 $buildings = $pages-&amp;gt;find(&amp;quot;architect.city.state.abbr=IL&amp;quot;); &lt;br /&gt;
Broadening further, perhaps we want buildings from all architects in the USA:&lt;br /&gt;
&lt;br /&gt;
 $buildings = $pages-&amp;gt;find(&amp;quot;architect.city.state.country.abbr=USA&amp;quot;);&lt;br /&gt;
Or perhaps both USA and Canada:&lt;br /&gt;
&lt;br /&gt;
 $buildings = $pages-&amp;gt;find(&amp;quot;architect.city.state.country.abbr=USA|CA&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
 http://cheatsheet.processwire.com/users/users-methods/users-find-selector/&lt;br /&gt;
Find all users whose email address ENDS with processwire.com and create a link to email them&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$items = $users-&amp;gt;find(&amp;quot;email$=processwire.com&amp;quot;);&lt;br /&gt;
foreach($items as $item) {&lt;br /&gt;
    echo &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;mailto:{$item-&amp;gt;email}&amp;#039;&amp;gt;{$item-&amp;gt;name}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Find all users who have &amp;quot;fred&amp;quot; anywhere in their name&lt;br /&gt;
&lt;br /&gt;
 $items = $users-&amp;gt;find(&amp;quot;name*=fred&amp;quot;);&lt;br /&gt;
Find all users who have the &amp;quot;superuser&amp;quot; role&lt;br /&gt;
&lt;br /&gt;
 $items = $users-&amp;gt;find(&amp;quot;roles=superuser&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
== Array Selectors ==&lt;br /&gt;
https://processwire.com/blog/posts/processwire-3.0.13-selector-upgrades-and-new-form-builder-version/#building-a-selector-string-with-user-input-example&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Selectors&amp;diff=23325</id>
		<title>ProcessWire - Selectors</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Selectors&amp;diff=23325"/>
		<updated>2018-09-27T10:49:18Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Operatoren ==&lt;br /&gt;
 http://cheatsheet.processwire.com/selectors/selector-operators/&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&lt;br /&gt;
=== Suche in Daten die Seitenverweise enthalten ===&lt;br /&gt;
https://processwire.com/talk/topic/570-searching-page-reference-fields/&lt;br /&gt;
&lt;br /&gt;
Es sollen Seiten gefunden werden, die Verweise auf andere Seiten enthalten. Beispielsweise enthalten Personen (Eltern) Links zu Notfalladressen die separat angelegt sind. Nun soll Nach Eltern gesucht werden, die eine bestimmte Notfalladresse enthalten. Gesucht wird nach einer Phrase im Notfalladrdessen Namen).&lt;br /&gt;
&lt;br /&gt;
Lösung: Es wird in zwei Schritten gesucht. &lt;br /&gt;
&lt;br /&gt;
1. Suche nach Kontakten mit dem Search Term im body und die dem template emergency-contact entsprechen&lt;br /&gt;
 $contacts = $pages-&amp;gt;find(&amp;quot;body*=&amp;#039;search term&amp;#039;, template=emergency-contact&amp;quot;); &lt;br /&gt;
2. Seiten die diesen Kontakten entsprechen&lt;br /&gt;
 $parents = $pages-&amp;gt;find(&amp;quot;emergency-contacts=$contacts&amp;quot;); &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Selektoren in Option Fieldtypes ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$optionsfield // return id (string)&lt;br /&gt;
$optionsfield-&amp;gt;id; // return id (int)&lt;br /&gt;
$optionsfield-&amp;gt;title; // return string USE THIS or&lt;br /&gt;
$optionsfield-&amp;gt;value; // return empty string or value (if your option settings like &amp;#039;1=value|title&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
// dot syntax in selector string&lt;br /&gt;
$pages-&amp;gt;find(&amp;#039;optionsfield.id=2&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Seiten finden ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$skyscrapers = $pages-&amp;gt;find(&amp;quot;template=skyscraper, sort=-modified&amp;quot;);&lt;br /&gt;
foreach($skyscrapers as $skyscraper) {&lt;br /&gt;
    echo &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;$skyscraper-&amp;gt;url&amp;#039;&amp;gt;$skyscraper-&amp;gt;title&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Page Reference auf diese Seite ===&lt;br /&gt;
https://processwire.com/talk/topic/1071-page-fieldtype-two-way-relation/&lt;br /&gt;
 echo $pages-&amp;gt;find(&amp;quot;field1=$page&amp;quot;)-&amp;gt;render();&lt;br /&gt;
If the page isn&amp;#039;t part of the front-end site, then I&amp;#039;ll remove view access from its template. Or if it is part of the front-end, but I don&amp;#039;t want to show the relations, then this:&lt;br /&gt;
&lt;br /&gt;
 if($page-&amp;gt;editable()) echo $pages-&amp;gt;find(&amp;quot;field1=$page&amp;quot;)-&amp;gt;render();&lt;br /&gt;
 &lt;br /&gt;
Though I almost always integrate these relation-revealing pages into the site structure, as it&amp;#039;s rare that this information doesn&amp;#039;t have some value to the site&amp;#039;s users too. This is an example of one that locates all pages referencing it in a field called &amp;#039;country&amp;#039;:&lt;br /&gt;
 https://www.tripsite.com/countries/croatia/&lt;br /&gt;
&lt;br /&gt;
=== Punkt Syntax ===&lt;br /&gt;
 $architects = $pages-&amp;gt;find(&amp;quot;template=architect, city.title=Chicago&amp;quot;); &lt;br /&gt;
 $buildings = $pages-&amp;gt;find(&amp;quot;architect=$architects&amp;quot;); &lt;br /&gt;
That&amp;#039;s easy enough, but wouldn&amp;#039;t it be nicer if you could just do this?&lt;br /&gt;
 $buildings = $pages-&amp;gt;find(&amp;quot;architect.city.title=Chicago&amp;quot;); &lt;br /&gt;
&lt;br /&gt;
 $buildings = $pages-&amp;gt;find(&amp;quot;architect.city.state.abbr=IL&amp;quot;); &lt;br /&gt;
Broadening further, perhaps we want buildings from all architects in the USA:&lt;br /&gt;
&lt;br /&gt;
 $buildings = $pages-&amp;gt;find(&amp;quot;architect.city.state.country.abbr=USA&amp;quot;);&lt;br /&gt;
Or perhaps both USA and Canada:&lt;br /&gt;
&lt;br /&gt;
 $buildings = $pages-&amp;gt;find(&amp;quot;architect.city.state.country.abbr=USA|CA&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
 http://cheatsheet.processwire.com/users/users-methods/users-find-selector/&lt;br /&gt;
Find all users whose email address ENDS with processwire.com and create a link to email them&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$items = $users-&amp;gt;find(&amp;quot;email$=processwire.com&amp;quot;);&lt;br /&gt;
foreach($items as $item) {&lt;br /&gt;
    echo &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;mailto:{$item-&amp;gt;email}&amp;#039;&amp;gt;{$item-&amp;gt;name}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Find all users who have &amp;quot;fred&amp;quot; anywhere in their name&lt;br /&gt;
&lt;br /&gt;
 $items = $users-&amp;gt;find(&amp;quot;name*=fred&amp;quot;);&lt;br /&gt;
Find all users who have the &amp;quot;superuser&amp;quot; role&lt;br /&gt;
&lt;br /&gt;
 $items = $users-&amp;gt;find(&amp;quot;roles=superuser&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
== Array Selectors ==&lt;br /&gt;
https://processwire.com/blog/posts/processwire-3.0.13-selector-upgrades-and-new-form-builder-version/#building-a-selector-string-with-user-input-example&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Editor&amp;diff=23324</id>
		<title>ProcessWire - Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Editor&amp;diff=23324"/>
		<updated>2018-09-20T18:18:13Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Extra Allowed Content */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;HINWEIS: Bei Änderungen an den Styles unbedingt Modul-Cache löschen (Module &amp;gt; Aktualisieren)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
 https://processwire.com/talk/topic/3023-module-ckeditor/&lt;br /&gt;
 https://processwire.com/talk/topic/14601-solved-ckeditor-custom-stylesclasses/&lt;br /&gt;
 https://processwire.com/talk/topic/19465-ckeditor-styles-dropdown-tips/&lt;br /&gt;
&lt;br /&gt;
== Der CKEditor ==&lt;br /&gt;
Ist der Standard Editor in PW. Es gibt auch Module mit denen man Ihn ersetzen kann. Im Prinzip aber ein mächtiges Werkzeug.&lt;br /&gt;
&lt;br /&gt;
Hinweis: In neueren Versionen von PW (mindestens ab V3) Sind einige der Angaben unten überholt. Zum Teil funktionieren Sie aber ncoh. Als Referenz bleiben Die Tutorials auf dieser Seite unten erhalten&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
Im Backend anpassen&lt;br /&gt;
=== Format Stile ===&lt;br /&gt;
In der Feldkonfiguration unter&lt;br /&gt;
 Input &amp;gt; Format Tags&lt;br /&gt;
 &lt;br /&gt;
=== Eigene Styles ===&lt;br /&gt;
Im Styles Dropdown kann man eigene Stile inklusive Klassen definieren.&lt;br /&gt;
==== Styles Dropdown Feld im Editor aktivieren ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1. Styles Dropdown aktivieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Feldkonfiguration unter CK Editor Toolbar&lt;br /&gt;
 Styles&lt;br /&gt;
hinzufügen (am besten hinter Format)&lt;br /&gt;
&lt;br /&gt;
==== Eigene Stildefinitionen in der Styles Datei ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 2.Styles Datei hinzufügen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Datei unter Eigenes JS Styles Set angeben...&lt;br /&gt;
 customstyles:/site/modules/InputfieldCKEditor/mystyles.js&lt;br /&gt;
und Datei anlegen. Die sieht z.B. so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  CKEDITOR.stylesSet.add( &amp;#039;customstyles&amp;#039;, [&lt;br /&gt;
   { name: &amp;#039;Home Icon&amp;#039;, element: &amp;#039;i&amp;#039;, attributes: {&amp;#039;class&amp;#039;: &amp;#039;fa fa-home fa-2x&amp;#039;}},&lt;br /&gt;
   { name: &amp;#039;Panel Title&amp;#039;, element: &amp;#039;h4&amp;#039;, attributes: {&amp;#039;class&amp;#039;: &amp;#039;panel-title&amp;#039;} },&lt;br /&gt;
  ]);&lt;br /&gt;
  CKEDITOR.dtd.$removeEmpty[&amp;#039;i&amp;#039;] = false; // leere i Tags erlauben (für font awesome)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hinweis: &amp;#039;&amp;#039;&amp;#039;Nicht mystyles:&amp;#039;&amp;#039;&amp;#039;/site/... Verwenden das führt zu Problemen im Backend. Mal sind die Stile da mal nicht. Also z.B. &amp;#039;&amp;#039;&amp;#039;customstyles in der Pfadangabe UND in der Datei verwenden.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Extra Allowed Content ===&lt;br /&gt;
Manche Tags werden ausgefiltert. Eigentlich sollte man im Backend CKEditor Extra Allowed Content Regeln anlegen können. Aber Vorsicht: Der &amp;#039;&amp;#039;&amp;#039;HTML Purifier filtert&amp;#039;&amp;#039;&amp;#039; zusätzlich Tags aus. (z.B. Button Tags) Also im Zweifel mal diesen ausschalten. &lt;br /&gt;
 site-&amp;gt;modules-&amp;gt;InputfieldCKEditor-&amp;gt;mystyle.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
config.allowedContent = true;&lt;br /&gt;
config.extraAllowedContent = &amp;#039;p(*)[*]{*};div(*)[*]{*};li(*)[*]{*};ul(*)[*]{*}&amp;#039;;&lt;br /&gt;
CKEDITOR.dtd.$removeEmpty.i = 0; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== i Tag erlauben (Möglichkeit 2)====&lt;br /&gt;
Siehe oben und erlaube&lt;br /&gt;
 // ALLOW &amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
 config.protectedSource.push(/&amp;lt;i[^&amp;gt;]*&amp;gt;&amp;lt;\/i&amp;gt;/g);&lt;br /&gt;
&lt;br /&gt;
== CKEditor allgemeines Wissen ==&lt;br /&gt;
Ein paar Infos zu CKEditor ohne PW. Viele Dinge sind ähnlich.&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
==== Toolbar ====&lt;br /&gt;
http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Toolbar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Plugins ===&lt;br /&gt;
Werden normalerweise mit einem Builder implementiert. Das geht bei PW nicht. Aber es gelten zum Teil die Regeln für Manuelle Installation. Manche Schritte z.B. aktivieren der Plugins macht man in PW aber wahlweise über die Feldkonfiguration.&lt;br /&gt;
&lt;br /&gt;
Beispiel Widget Plugin:&lt;br /&gt;
&lt;br /&gt;
If you want to add the plugin manually, you will need to:&lt;br /&gt;
* Extract the downloaded plugin .zip into the plugins folder of your CKEditor installation. Example:&lt;br /&gt;
 http://example.com/ckeditor/plugins/widget&lt;br /&gt;
* Enable the plugin by using the extraPlugins configuration setting. Example:&lt;br /&gt;
 config.extraPlugins = &amp;#039;widget&amp;#039;; &lt;br /&gt;
* Download and configure all its &amp;#039;&amp;#039;&amp;#039;dependencies&amp;#039;&amp;#039;&amp;#039;, too.&lt;br /&gt;
In PW&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
&lt;br /&gt;
=== Praktisches Beispiel 1===&lt;br /&gt;
&lt;br /&gt;
Im Tab Eingabe des Editor Felds kann man verschiedene Dinge Einstellen. Die meisten Felder sind auch recht gut erklärt:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Editor Toolbar einstellen&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Interessant ist hier der &amp;#039;&amp;#039;&amp;#039;Eintrag Styles&amp;#039;&amp;#039;&amp;#039;. Das Formatdialogfeld formatiert einzelne Blockstile wie h1 oder p. Im Styles Dropdown kann man auch Umgebende Blockelemente wie z.B. Divs mit speziellen Klassen nutzen. &lt;br /&gt;
&lt;br /&gt;
Guter Standard mit Tabellen und Styles Dropdown&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Format, Styles, -, Bold, Italic,Superscript, -,JustifyLeft,JustifyCenter,JustifyRight,-, RemoveFormat&lt;br /&gt;
NumberedList, BulletedList, -, Blockquote&lt;br /&gt;
PWLink, Unlink, Anchor&lt;br /&gt;
&lt;br /&gt;
PWImage, Table, HorizontalRule, SpecialChar&lt;br /&gt;
PasteText, PasteFromWord,-,Undo,Redo&lt;br /&gt;
Scayt, -, Sourcedialog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tags formatieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Hier kann man festlegen welche &amp;#039;&amp;#039;&amp;#039;Tags im Format Dropdown&amp;#039;&amp;#039;&amp;#039; ausgewählt werden können. Hier ein Beispiel bei dem wir h1 weglassen. H1 wird oft über das Template selbst ausgegeben und sollte nur einmal pro Seite auftauchen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
p;h2;h3;h4;h5;h6;pre;address&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Styles festlegen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Um die oben erwähnten Styles anzupassen wir eine kleine JavaScript Datei. Wo diese liegt legen wir im Abschnitt &amp;#039;&amp;#039;&amp;#039;Eigenes Editor-JS-Style-Set&amp;#039;&amp;#039;&amp;#039; fest. Wir nutzen den bereits vorgeschlagenen Pfad tragen diesen ein und legen die Datei an:&lt;br /&gt;
 customstyles:/site/modules/InputfieldCKEditor/mystyles.js&lt;br /&gt;
&lt;br /&gt;
UIkit Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
CKEDITOR.stylesSet.add( &amp;#039;customstyles&amp;#039;, [&lt;br /&gt;
 /* Blockstyles */&lt;br /&gt;
 { name: &amp;#039;Zweispalter&amp;#039;, element: &amp;#039;div&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-column-1-2@s&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Dreipalter&amp;#039;, element: &amp;#039;div&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-column-1-2@s uk-column-1-3@m&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Vierspalter&amp;#039;, element: &amp;#039;div&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-column-1-2@s uk-column-1-4@m&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Heading Divider&amp;#039;, element: &amp;#039;h3&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-heading-divider&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Heading Line&amp;#039;, element: &amp;#039;h&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-heading-line&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Heading Bullet&amp;#039;, element: &amp;#039;h&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-heading-bullet&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Liste mit Kugel (UIkit)&amp;#039;, element: &amp;#039;ul&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-list uk-list-bullet&amp;#039;}},&lt;br /&gt;
 { name: &amp;#039;Liste mit Linie (UIkit)&amp;#039;, element: &amp;#039;ul&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-list uk-list-divide&amp;#039;}}&lt;br /&gt;
/* Inline Styles */&lt;br /&gt;
{ name: &amp;#039;Klein (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-small&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Groß (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-large&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Kleinbuchstaben (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-lowercase&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Großbuchstaben (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-uppercase&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Kapitälchen (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-capitalize&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Muted (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-muted&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Primär (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-primary&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Erfolg (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-success&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Warnung (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-warning&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Gefahr (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-danger&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Klein&amp;#039;, element: &amp;#039;small&amp;#039; },&lt;br /&gt;
{ name: &amp;#039;Gel&amp;amp;ouml;scht&amp;#039;, element: &amp;#039;del&amp;#039; },&lt;br /&gt;
{ name: &amp;#039;Eingefügt&amp;#039;, element: &amp;#039;ins&amp;#039; },&lt;br /&gt;
{ name: &amp;#039;Zitat&amp;#039;, element: &amp;#039;cite&amp;#039; }&lt;br /&gt;
]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hinweis: Span Elemente sind oft p Elementen vorzuziehen, da sie Inline angewendet werden können. So ist es möglich einen Muted Text innerhalb eines Absatzes einzusetzen.&lt;br /&gt;
&lt;br /&gt;
Einfaches Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
CKEDITOR.stylesSet.add( &amp;#039;customstyles&amp;#039;, [&lt;br /&gt;
 { name: &amp;#039;Mein Spezialabsatz&amp;#039;, element: &amp;#039;p&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;myParagraphStyle&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Klein&amp;#039;, element: &amp;#039;small&amp;#039; },&lt;br /&gt;
 { name: &amp;#039;Gelöscht&amp;#039;, element: &amp;#039;del&amp;#039; },&lt;br /&gt;
 { name: &amp;#039;Eingefügt&amp;#039;, element: &amp;#039;ins&amp;#039; },&lt;br /&gt;
 { name: &amp;#039;Zitat&amp;#039;, element: &amp;#039;cite&amp;#039; }&lt;br /&gt;
]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Stile im Editor einbinden &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Weiter Forum Beispiele ==&lt;br /&gt;
https://processwire.com/talk/topic/9606-how-to-configure-ckeditortextarea-field-to-enable-color-toolbar/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Konfiguration CKEditor in PW (alt)==&lt;br /&gt;
&lt;br /&gt;
 /sites &lt;br /&gt;
ausgelagert und somit auch Updatefähig. Abschauen kann man im original Modul in &lt;br /&gt;
 wire/site/modules/InputfieldCKEditor/&lt;br /&gt;
Dort gibe es diverse Dateien. Allerdings ist nicht alles möglich, was in der CKEditor Doku steht. In PW können scheinbar manche Einstellungen nicht über die Dateien geregelt werden.&lt;br /&gt;
&lt;br /&gt;
=== Wo stellt man was ein ? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; Nicht alles was hier steht funktioniert auch so. Am besten im Backend in der Feldkonfiguration schauen und dort die Pfade anpassen.&lt;br /&gt;
Ordner:&lt;br /&gt;
 site/modules/InputfieldCKEditor/&lt;br /&gt;
Konfiguration gültig &amp;#039;&amp;#039;&amp;#039;für alle Felder im Backend&amp;#039;&amp;#039;&amp;#039; (hat bei mir bisher nicht ohne die Backendkonfiguration für das Feld funktioniert)&lt;br /&gt;
 config.js&lt;br /&gt;
Konfiguration für ein bestimmtes Feld falls vorhanden&lt;br /&gt;
 config.[fieldname.]js &lt;br /&gt;
 mystyles.js -&amp;gt; ein selbstbenanntes Feld kann im Backend bei der Konfiguration des CKEditor Feldes angegeben werden.&lt;br /&gt;
&lt;br /&gt;
Allgemeine Konfiguration. Z.B. Styles hinzufügen, removeFormatTags, &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Alles was der Editor beim Eingeben mit &amp;#039;&amp;#039;&amp;#039;JavaScript&amp;#039;&amp;#039;&amp;#039; bearbeitet. Außerdem &amp;#039;&amp;#039;&amp;#039;Style Auswahl anpassen&amp;#039;&amp;#039;&amp;#039; alle Optionen die mit &amp;#039;&amp;#039;&amp;#039;CKEDITOR.&amp;#039;&amp;#039;&amp;#039; anfangen&lt;br /&gt;
 content.css&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Stile die der Editor bei der Eingabe benutzt. Also quasi die Vorschau für den Benutzer.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 contents-inline.css&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Stile für die Vorschau beim Inline Editor&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Feldkonfiguration im Admin Bereich PW&lt;br /&gt;
&lt;br /&gt;
Hier muß die &amp;#039;&amp;#039;&amp;#039;Toolbar&amp;#039;&amp;#039;&amp;#039; eingestellt werden. Über Konfig hat es bisher nicht geklappt. Hier muss auch die &amp;#039;&amp;#039;&amp;#039;CSS Datei für die Inline Styles&amp;#039;&amp;#039;&amp;#039; angegeben werden. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Überschreiben in der config.js&amp;#039;&amp;#039;&amp;#039; hat bei mir nicht funktioniert - in aktueller Version 3.062 klappt es..&lt;br /&gt;
&lt;br /&gt;
 Auch &amp;#039;&amp;#039;&amp;#039;Plugins&amp;#039;&amp;#039;&amp;#039; müssen hier ausgewählt werden, damit sie eingebunden werden. Dies funktioniert also alles nur auf Feld-Ebene und nicht global.&lt;br /&gt;
=== CKEditor Buttons anpassen===&lt;br /&gt;
Wenn man ein Textarea Feld definiert, kann man auch für dieses Feld den CKEditor anpassen. Das geht im Backend in der &amp;#039;&amp;#039;&amp;#039;Feldkonfiguration unter dem Reiter Eingabe.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Beispiel: Hier werden &amp;#039;&amp;#039;&amp;#039;Buttons für die Textausrichtung hinzugefügt.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Format, Styles, -, Bold, Italic,Superscript, -,JustifyLeft,JustifyCenter,JustifyRight,-, RemoveFormat&lt;br /&gt;
NumberedList, BulletedList, -, Blockquote&lt;br /&gt;
PWLink, Unlink, Anchor&lt;br /&gt;
&lt;br /&gt;
PWImage, Table, HorizontalRule, SpecialChar&lt;br /&gt;
PasteText, PasteFromWord,-,Undo,Redo&lt;br /&gt;
Scayt, -, Sourcedialog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Default Einstellungen ===&lt;br /&gt;
Todo: TESTEN ob das wirklich funktioniert&lt;br /&gt;
Kann man im Modulverzeichnis unter site/modules hinterlegen. Achtung nicht im Modulverzeichnis unter wire überschreiben. Das ist beim nächsten Update weg.&lt;br /&gt;
 /site/modules/InputfieldCKEditor/config.js -&amp;gt; überschreibt oder ergänzt die Default Einstellung&lt;br /&gt;
 /site/modules/InputfieldCKEditor/config.body.js -&amp;gt; überschreibt oder ergänzt das body Feld&lt;br /&gt;
Beispiele:&lt;br /&gt;
 config.startupOutlineBlocks = true;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CKEDITOR.editorConfig = function( config ) {&lt;br /&gt;
	config.justifyClasses = [ &amp;#039;left&amp;#039;, &amp;#039;center&amp;#039;, &amp;#039;right&amp;#039;, &amp;#039;justify&amp;#039; ];&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Leider funktionieren viele Einstellungen hier nicht, die im original CKEditor möglich sind.&lt;br /&gt;
&lt;br /&gt;
=== Eigene Styles ===&lt;br /&gt;
Eigene Stile zur Auswahl im &amp;#039;&amp;#039;&amp;#039;Styles&amp;#039;&amp;#039;&amp;#039; Dropdown&lt;br /&gt;
 site-&amp;gt;modules-&amp;gt;InputfieldCKEditor-&amp;gt;mystyles.js&lt;br /&gt;
anpassen.&lt;br /&gt;
Im Backend den Pfad hinzufügen (siehe Beispiel unten)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konfigurationsbeispiele ===&lt;br /&gt;
Im Adminbereich im content_main Feld:&lt;br /&gt;
&lt;br /&gt;
==== CKEditor Toolbar ====&lt;br /&gt;
Added justify buttons...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Format, Styles, -, Bold, Italic, Superscript, -,JustifyLeft ,JustifyCenter ,JustifyRight , -, RemoveFormat&lt;br /&gt;
NumberedList, BulletedList, -, Blockquote&lt;br /&gt;
&lt;br /&gt;
PWLink, Unlink, Anchor, PWImage, Table, HorizontalRule, SpecialChar&lt;br /&gt;
PasteText, PasteFromWord,-,Undo,Redo&lt;br /&gt;
Scayt, -, Sourcedialog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blöcke anzeigen, Smileys&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Format, Styles, -, Bold, Italic, Underline, Strike, Superscript, Subscript,&lt;br /&gt;
JustifyLeft ,JustifyCenter ,JustifyRight , -,  &lt;br /&gt;
NumberedList, BulletedList, -, Blockquote&lt;br /&gt;
&lt;br /&gt;
PWLink, Unlink, Anchor, PWImage, Table, HorizontalRule, SpecialChar, Smiley, ShowBlocks, RemoveFormat,&lt;br /&gt;
PasteText, PasteFromWord,-, Undo, Redo, -, Sourcedialog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Custom Editor CSS File ====&lt;br /&gt;
Für die &amp;#039;&amp;#039;&amp;#039;im Editor angezeigten Stile&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 site/modules/InputfieldCKEditor/contents.css&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
@import url(&amp;#039;../../templates/vendors/fa/css/font-awesome.min.css&amp;#039;);&lt;br /&gt;
@import url(&amp;#039;../../templates/vendors/bootstrap/css/bootstrap.min.css&amp;#039;);&lt;br /&gt;
@import url(&amp;#039;../../templates/css/main.css&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
.cke_editable {&lt;br /&gt;
	font-size: 14px;&lt;br /&gt;
	line-height: 1.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cke_contents_ltr blockquote {&lt;br /&gt;
	padding-left: 20px;&lt;br /&gt;
	padding-right: 8px;&lt;br /&gt;
	border-left-width: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cke_contents_rtl blockquote {&lt;br /&gt;
	padding-left: 8px;&lt;br /&gt;
	padding-right: 20px;&lt;br /&gt;
	border-right-width: 5px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Custom Editor JS File ====&lt;br /&gt;
&lt;br /&gt;
Für die Auswahlfelder in der &amp;#039;&amp;#039;&amp;#039;Toolbar&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 customstyles:/site/modules/InputfieldCKEditor/mystyles.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  CKEDITOR.stylesSet.add( &amp;#039;mystyles&amp;#039;, [&lt;br /&gt;
   { name: &amp;#039;Home Icon&amp;#039;, element: &amp;#039;i&amp;#039;, attributes: {&amp;#039;class&amp;#039;: &amp;#039;fa fa-home fa-2x&amp;#039;}},&lt;br /&gt;
   { name: &amp;#039;Panel Title&amp;#039;, element: &amp;#039;h4&amp;#039;, attributes: {&amp;#039;class&amp;#039;: &amp;#039;panel-title&amp;#039;} },&lt;br /&gt;
  ]);&lt;br /&gt;
  CKEDITOR.dtd.$removeEmpty[&amp;#039;i&amp;#039;] = false; // leere i Tags erlauben (für font awesome)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== config.js ====&lt;br /&gt;
In /site/modules/InputfieldCKEditor/config.js (oder config.feldname.js)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
CKEDITOR.editorConfig = function( config ) {&lt;br /&gt;
  config.uiColor = &amp;#039;#AADC6E&amp;#039;;&lt;br /&gt;
  config.coreStyles_italic = { element : &amp;#039;i&amp;#039;, overrides : &amp;#039;em&amp;#039; }; // i nicht durch em überschreiben (für font awesome)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Plugins hinzufügen ===&lt;br /&gt;
* https://weekly.pw/issue/13/#1-2 -&amp;gt; Plugins für CK Editor etc.&lt;br /&gt;
&lt;br /&gt;
== Probleme beheben ==&lt;br /&gt;
=== Cursor springt an den Anfang zurück ===&lt;br /&gt;
&lt;br /&gt;
=== Eigene Styles funktionieren nicht ===&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Editor&amp;diff=23323</id>
		<title>ProcessWire - Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Editor&amp;diff=23323"/>
		<updated>2018-09-20T18:10:40Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Eigene Styles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;HINWEIS: Bei Änderungen an den Styles unbedingt Modul-Cache löschen (Module &amp;gt; Aktualisieren)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
 https://processwire.com/talk/topic/3023-module-ckeditor/&lt;br /&gt;
 https://processwire.com/talk/topic/14601-solved-ckeditor-custom-stylesclasses/&lt;br /&gt;
 https://processwire.com/talk/topic/19465-ckeditor-styles-dropdown-tips/&lt;br /&gt;
&lt;br /&gt;
== Der CKEditor ==&lt;br /&gt;
Ist der Standard Editor in PW. Es gibt auch Module mit denen man Ihn ersetzen kann. Im Prinzip aber ein mächtiges Werkzeug.&lt;br /&gt;
&lt;br /&gt;
Hinweis: In neueren Versionen von PW (mindestens ab V3) Sind einige der Angaben unten überholt. Zum Teil funktionieren Sie aber ncoh. Als Referenz bleiben Die Tutorials auf dieser Seite unten erhalten&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
Im Backend anpassen&lt;br /&gt;
=== Format Stile ===&lt;br /&gt;
In der Feldkonfiguration unter&lt;br /&gt;
 Input &amp;gt; Format Tags&lt;br /&gt;
 &lt;br /&gt;
=== Eigene Styles ===&lt;br /&gt;
Im Styles Dropdown kann man eigene Stile inklusive Klassen definieren.&lt;br /&gt;
==== Styles Dropdown Feld im Editor aktivieren ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1. Styles Dropdown aktivieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Feldkonfiguration unter CK Editor Toolbar&lt;br /&gt;
 Styles&lt;br /&gt;
hinzufügen (am besten hinter Format)&lt;br /&gt;
&lt;br /&gt;
==== Eigene Stildefinitionen in der Styles Datei ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 2.Styles Datei hinzufügen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Datei unter Eigenes JS Styles Set angeben...&lt;br /&gt;
 customstyles:/site/modules/InputfieldCKEditor/mystyles.js&lt;br /&gt;
und Datei anlegen. Die sieht z.B. so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  CKEDITOR.stylesSet.add( &amp;#039;customstyles&amp;#039;, [&lt;br /&gt;
   { name: &amp;#039;Home Icon&amp;#039;, element: &amp;#039;i&amp;#039;, attributes: {&amp;#039;class&amp;#039;: &amp;#039;fa fa-home fa-2x&amp;#039;}},&lt;br /&gt;
   { name: &amp;#039;Panel Title&amp;#039;, element: &amp;#039;h4&amp;#039;, attributes: {&amp;#039;class&amp;#039;: &amp;#039;panel-title&amp;#039;} },&lt;br /&gt;
  ]);&lt;br /&gt;
  CKEDITOR.dtd.$removeEmpty[&amp;#039;i&amp;#039;] = false; // leere i Tags erlauben (für font awesome)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hinweis: &amp;#039;&amp;#039;&amp;#039;Nicht mystyles:&amp;#039;&amp;#039;&amp;#039;/site/... Verwenden das führt zu Problemen im Backend. Mal sind die Stile da mal nicht. Also z.B. &amp;#039;&amp;#039;&amp;#039;customstyles in der Pfadangabe UND in der Datei verwenden.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Extra Allowed Content ===&lt;br /&gt;
Manche Tags werden ausgefiltert. Eigentlich sollte man im Backend CKEditor Extra Allowed Content Regeln anlegen können. Das hat bei mir in PW 3.0.64 nicht funktioniert. Weiterer Tipp&lt;br /&gt;
 site-&amp;gt;modules-&amp;gt;InputfieldCKEditor-&amp;gt;mystyle.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
config.allowedContent = true;&lt;br /&gt;
config.extraAllowedContent = &amp;#039;p(*)[*]{*};div(*)[*]{*};li(*)[*]{*};ul(*)[*]{*}&amp;#039;;&lt;br /&gt;
CKEDITOR.dtd.$removeEmpty.i = 0; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== i Tag erlauben (Möglichkeit 2)====&lt;br /&gt;
Siehe oben und erlaube&lt;br /&gt;
 // ALLOW &amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
 config.protectedSource.push(/&amp;lt;i[^&amp;gt;]*&amp;gt;&amp;lt;\/i&amp;gt;/g);&lt;br /&gt;
&lt;br /&gt;
== CKEditor allgemeines Wissen ==&lt;br /&gt;
Ein paar Infos zu CKEditor ohne PW. Viele Dinge sind ähnlich.&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
==== Toolbar ====&lt;br /&gt;
http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Toolbar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Plugins ===&lt;br /&gt;
Werden normalerweise mit einem Builder implementiert. Das geht bei PW nicht. Aber es gelten zum Teil die Regeln für Manuelle Installation. Manche Schritte z.B. aktivieren der Plugins macht man in PW aber wahlweise über die Feldkonfiguration.&lt;br /&gt;
&lt;br /&gt;
Beispiel Widget Plugin:&lt;br /&gt;
&lt;br /&gt;
If you want to add the plugin manually, you will need to:&lt;br /&gt;
* Extract the downloaded plugin .zip into the plugins folder of your CKEditor installation. Example:&lt;br /&gt;
 http://example.com/ckeditor/plugins/widget&lt;br /&gt;
* Enable the plugin by using the extraPlugins configuration setting. Example:&lt;br /&gt;
 config.extraPlugins = &amp;#039;widget&amp;#039;; &lt;br /&gt;
* Download and configure all its &amp;#039;&amp;#039;&amp;#039;dependencies&amp;#039;&amp;#039;&amp;#039;, too.&lt;br /&gt;
In PW&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
&lt;br /&gt;
=== Praktisches Beispiel 1===&lt;br /&gt;
&lt;br /&gt;
Im Tab Eingabe des Editor Felds kann man verschiedene Dinge Einstellen. Die meisten Felder sind auch recht gut erklärt:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Editor Toolbar einstellen&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Interessant ist hier der &amp;#039;&amp;#039;&amp;#039;Eintrag Styles&amp;#039;&amp;#039;&amp;#039;. Das Formatdialogfeld formatiert einzelne Blockstile wie h1 oder p. Im Styles Dropdown kann man auch Umgebende Blockelemente wie z.B. Divs mit speziellen Klassen nutzen. &lt;br /&gt;
&lt;br /&gt;
Guter Standard mit Tabellen und Styles Dropdown&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Format, Styles, -, Bold, Italic,Superscript, -,JustifyLeft,JustifyCenter,JustifyRight,-, RemoveFormat&lt;br /&gt;
NumberedList, BulletedList, -, Blockquote&lt;br /&gt;
PWLink, Unlink, Anchor&lt;br /&gt;
&lt;br /&gt;
PWImage, Table, HorizontalRule, SpecialChar&lt;br /&gt;
PasteText, PasteFromWord,-,Undo,Redo&lt;br /&gt;
Scayt, -, Sourcedialog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tags formatieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Hier kann man festlegen welche &amp;#039;&amp;#039;&amp;#039;Tags im Format Dropdown&amp;#039;&amp;#039;&amp;#039; ausgewählt werden können. Hier ein Beispiel bei dem wir h1 weglassen. H1 wird oft über das Template selbst ausgegeben und sollte nur einmal pro Seite auftauchen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
p;h2;h3;h4;h5;h6;pre;address&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Styles festlegen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Um die oben erwähnten Styles anzupassen wir eine kleine JavaScript Datei. Wo diese liegt legen wir im Abschnitt &amp;#039;&amp;#039;&amp;#039;Eigenes Editor-JS-Style-Set&amp;#039;&amp;#039;&amp;#039; fest. Wir nutzen den bereits vorgeschlagenen Pfad tragen diesen ein und legen die Datei an:&lt;br /&gt;
 customstyles:/site/modules/InputfieldCKEditor/mystyles.js&lt;br /&gt;
&lt;br /&gt;
UIkit Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
CKEDITOR.stylesSet.add( &amp;#039;customstyles&amp;#039;, [&lt;br /&gt;
 /* Blockstyles */&lt;br /&gt;
 { name: &amp;#039;Zweispalter&amp;#039;, element: &amp;#039;div&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-column-1-2@s&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Dreipalter&amp;#039;, element: &amp;#039;div&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-column-1-2@s uk-column-1-3@m&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Vierspalter&amp;#039;, element: &amp;#039;div&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-column-1-2@s uk-column-1-4@m&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Heading Divider&amp;#039;, element: &amp;#039;h3&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-heading-divider&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Heading Line&amp;#039;, element: &amp;#039;h&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-heading-line&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Heading Bullet&amp;#039;, element: &amp;#039;h&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-heading-bullet&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Liste mit Kugel (UIkit)&amp;#039;, element: &amp;#039;ul&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-list uk-list-bullet&amp;#039;}},&lt;br /&gt;
 { name: &amp;#039;Liste mit Linie (UIkit)&amp;#039;, element: &amp;#039;ul&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-list uk-list-divide&amp;#039;}}&lt;br /&gt;
/* Inline Styles */&lt;br /&gt;
{ name: &amp;#039;Klein (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-small&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Groß (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-large&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Kleinbuchstaben (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-lowercase&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Großbuchstaben (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-uppercase&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Kapitälchen (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-capitalize&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Muted (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-muted&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Primär (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-primary&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Erfolg (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-success&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Warnung (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-warning&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Gefahr (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-danger&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Klein&amp;#039;, element: &amp;#039;small&amp;#039; },&lt;br /&gt;
{ name: &amp;#039;Gel&amp;amp;ouml;scht&amp;#039;, element: &amp;#039;del&amp;#039; },&lt;br /&gt;
{ name: &amp;#039;Eingefügt&amp;#039;, element: &amp;#039;ins&amp;#039; },&lt;br /&gt;
{ name: &amp;#039;Zitat&amp;#039;, element: &amp;#039;cite&amp;#039; }&lt;br /&gt;
]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hinweis: Span Elemente sind oft p Elementen vorzuziehen, da sie Inline angewendet werden können. So ist es möglich einen Muted Text innerhalb eines Absatzes einzusetzen.&lt;br /&gt;
&lt;br /&gt;
Einfaches Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
CKEDITOR.stylesSet.add( &amp;#039;customstyles&amp;#039;, [&lt;br /&gt;
 { name: &amp;#039;Mein Spezialabsatz&amp;#039;, element: &amp;#039;p&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;myParagraphStyle&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Klein&amp;#039;, element: &amp;#039;small&amp;#039; },&lt;br /&gt;
 { name: &amp;#039;Gelöscht&amp;#039;, element: &amp;#039;del&amp;#039; },&lt;br /&gt;
 { name: &amp;#039;Eingefügt&amp;#039;, element: &amp;#039;ins&amp;#039; },&lt;br /&gt;
 { name: &amp;#039;Zitat&amp;#039;, element: &amp;#039;cite&amp;#039; }&lt;br /&gt;
]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Stile im Editor einbinden &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Weiter Forum Beispiele ==&lt;br /&gt;
https://processwire.com/talk/topic/9606-how-to-configure-ckeditortextarea-field-to-enable-color-toolbar/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Konfiguration CKEditor in PW (alt)==&lt;br /&gt;
&lt;br /&gt;
 /sites &lt;br /&gt;
ausgelagert und somit auch Updatefähig. Abschauen kann man im original Modul in &lt;br /&gt;
 wire/site/modules/InputfieldCKEditor/&lt;br /&gt;
Dort gibe es diverse Dateien. Allerdings ist nicht alles möglich, was in der CKEditor Doku steht. In PW können scheinbar manche Einstellungen nicht über die Dateien geregelt werden.&lt;br /&gt;
&lt;br /&gt;
=== Wo stellt man was ein ? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; Nicht alles was hier steht funktioniert auch so. Am besten im Backend in der Feldkonfiguration schauen und dort die Pfade anpassen.&lt;br /&gt;
Ordner:&lt;br /&gt;
 site/modules/InputfieldCKEditor/&lt;br /&gt;
Konfiguration gültig &amp;#039;&amp;#039;&amp;#039;für alle Felder im Backend&amp;#039;&amp;#039;&amp;#039; (hat bei mir bisher nicht ohne die Backendkonfiguration für das Feld funktioniert)&lt;br /&gt;
 config.js&lt;br /&gt;
Konfiguration für ein bestimmtes Feld falls vorhanden&lt;br /&gt;
 config.[fieldname.]js &lt;br /&gt;
 mystyles.js -&amp;gt; ein selbstbenanntes Feld kann im Backend bei der Konfiguration des CKEditor Feldes angegeben werden.&lt;br /&gt;
&lt;br /&gt;
Allgemeine Konfiguration. Z.B. Styles hinzufügen, removeFormatTags, &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Alles was der Editor beim Eingeben mit &amp;#039;&amp;#039;&amp;#039;JavaScript&amp;#039;&amp;#039;&amp;#039; bearbeitet. Außerdem &amp;#039;&amp;#039;&amp;#039;Style Auswahl anpassen&amp;#039;&amp;#039;&amp;#039; alle Optionen die mit &amp;#039;&amp;#039;&amp;#039;CKEDITOR.&amp;#039;&amp;#039;&amp;#039; anfangen&lt;br /&gt;
 content.css&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Stile die der Editor bei der Eingabe benutzt. Also quasi die Vorschau für den Benutzer.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 contents-inline.css&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Stile für die Vorschau beim Inline Editor&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Feldkonfiguration im Admin Bereich PW&lt;br /&gt;
&lt;br /&gt;
Hier muß die &amp;#039;&amp;#039;&amp;#039;Toolbar&amp;#039;&amp;#039;&amp;#039; eingestellt werden. Über Konfig hat es bisher nicht geklappt. Hier muss auch die &amp;#039;&amp;#039;&amp;#039;CSS Datei für die Inline Styles&amp;#039;&amp;#039;&amp;#039; angegeben werden. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Überschreiben in der config.js&amp;#039;&amp;#039;&amp;#039; hat bei mir nicht funktioniert - in aktueller Version 3.062 klappt es..&lt;br /&gt;
&lt;br /&gt;
 Auch &amp;#039;&amp;#039;&amp;#039;Plugins&amp;#039;&amp;#039;&amp;#039; müssen hier ausgewählt werden, damit sie eingebunden werden. Dies funktioniert also alles nur auf Feld-Ebene und nicht global.&lt;br /&gt;
=== CKEditor Buttons anpassen===&lt;br /&gt;
Wenn man ein Textarea Feld definiert, kann man auch für dieses Feld den CKEditor anpassen. Das geht im Backend in der &amp;#039;&amp;#039;&amp;#039;Feldkonfiguration unter dem Reiter Eingabe.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Beispiel: Hier werden &amp;#039;&amp;#039;&amp;#039;Buttons für die Textausrichtung hinzugefügt.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Format, Styles, -, Bold, Italic,Superscript, -,JustifyLeft,JustifyCenter,JustifyRight,-, RemoveFormat&lt;br /&gt;
NumberedList, BulletedList, -, Blockquote&lt;br /&gt;
PWLink, Unlink, Anchor&lt;br /&gt;
&lt;br /&gt;
PWImage, Table, HorizontalRule, SpecialChar&lt;br /&gt;
PasteText, PasteFromWord,-,Undo,Redo&lt;br /&gt;
Scayt, -, Sourcedialog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Default Einstellungen ===&lt;br /&gt;
Todo: TESTEN ob das wirklich funktioniert&lt;br /&gt;
Kann man im Modulverzeichnis unter site/modules hinterlegen. Achtung nicht im Modulverzeichnis unter wire überschreiben. Das ist beim nächsten Update weg.&lt;br /&gt;
 /site/modules/InputfieldCKEditor/config.js -&amp;gt; überschreibt oder ergänzt die Default Einstellung&lt;br /&gt;
 /site/modules/InputfieldCKEditor/config.body.js -&amp;gt; überschreibt oder ergänzt das body Feld&lt;br /&gt;
Beispiele:&lt;br /&gt;
 config.startupOutlineBlocks = true;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CKEDITOR.editorConfig = function( config ) {&lt;br /&gt;
	config.justifyClasses = [ &amp;#039;left&amp;#039;, &amp;#039;center&amp;#039;, &amp;#039;right&amp;#039;, &amp;#039;justify&amp;#039; ];&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Leider funktionieren viele Einstellungen hier nicht, die im original CKEditor möglich sind.&lt;br /&gt;
&lt;br /&gt;
=== Eigene Styles ===&lt;br /&gt;
Eigene Stile zur Auswahl im &amp;#039;&amp;#039;&amp;#039;Styles&amp;#039;&amp;#039;&amp;#039; Dropdown&lt;br /&gt;
 site-&amp;gt;modules-&amp;gt;InputfieldCKEditor-&amp;gt;mystyles.js&lt;br /&gt;
anpassen.&lt;br /&gt;
Im Backend den Pfad hinzufügen (siehe Beispiel unten)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konfigurationsbeispiele ===&lt;br /&gt;
Im Adminbereich im content_main Feld:&lt;br /&gt;
&lt;br /&gt;
==== CKEditor Toolbar ====&lt;br /&gt;
Added justify buttons...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Format, Styles, -, Bold, Italic, Superscript, -,JustifyLeft ,JustifyCenter ,JustifyRight , -, RemoveFormat&lt;br /&gt;
NumberedList, BulletedList, -, Blockquote&lt;br /&gt;
&lt;br /&gt;
PWLink, Unlink, Anchor, PWImage, Table, HorizontalRule, SpecialChar&lt;br /&gt;
PasteText, PasteFromWord,-,Undo,Redo&lt;br /&gt;
Scayt, -, Sourcedialog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blöcke anzeigen, Smileys&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Format, Styles, -, Bold, Italic, Underline, Strike, Superscript, Subscript,&lt;br /&gt;
JustifyLeft ,JustifyCenter ,JustifyRight , -,  &lt;br /&gt;
NumberedList, BulletedList, -, Blockquote&lt;br /&gt;
&lt;br /&gt;
PWLink, Unlink, Anchor, PWImage, Table, HorizontalRule, SpecialChar, Smiley, ShowBlocks, RemoveFormat,&lt;br /&gt;
PasteText, PasteFromWord,-, Undo, Redo, -, Sourcedialog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Custom Editor CSS File ====&lt;br /&gt;
Für die &amp;#039;&amp;#039;&amp;#039;im Editor angezeigten Stile&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 site/modules/InputfieldCKEditor/contents.css&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
@import url(&amp;#039;../../templates/vendors/fa/css/font-awesome.min.css&amp;#039;);&lt;br /&gt;
@import url(&amp;#039;../../templates/vendors/bootstrap/css/bootstrap.min.css&amp;#039;);&lt;br /&gt;
@import url(&amp;#039;../../templates/css/main.css&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
.cke_editable {&lt;br /&gt;
	font-size: 14px;&lt;br /&gt;
	line-height: 1.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cke_contents_ltr blockquote {&lt;br /&gt;
	padding-left: 20px;&lt;br /&gt;
	padding-right: 8px;&lt;br /&gt;
	border-left-width: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cke_contents_rtl blockquote {&lt;br /&gt;
	padding-left: 8px;&lt;br /&gt;
	padding-right: 20px;&lt;br /&gt;
	border-right-width: 5px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Custom Editor JS File ====&lt;br /&gt;
&lt;br /&gt;
Für die Auswahlfelder in der &amp;#039;&amp;#039;&amp;#039;Toolbar&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 customstyles:/site/modules/InputfieldCKEditor/mystyles.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  CKEDITOR.stylesSet.add( &amp;#039;mystyles&amp;#039;, [&lt;br /&gt;
   { name: &amp;#039;Home Icon&amp;#039;, element: &amp;#039;i&amp;#039;, attributes: {&amp;#039;class&amp;#039;: &amp;#039;fa fa-home fa-2x&amp;#039;}},&lt;br /&gt;
   { name: &amp;#039;Panel Title&amp;#039;, element: &amp;#039;h4&amp;#039;, attributes: {&amp;#039;class&amp;#039;: &amp;#039;panel-title&amp;#039;} },&lt;br /&gt;
  ]);&lt;br /&gt;
  CKEDITOR.dtd.$removeEmpty[&amp;#039;i&amp;#039;] = false; // leere i Tags erlauben (für font awesome)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== config.js ====&lt;br /&gt;
In /site/modules/InputfieldCKEditor/config.js (oder config.feldname.js)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
CKEDITOR.editorConfig = function( config ) {&lt;br /&gt;
  config.uiColor = &amp;#039;#AADC6E&amp;#039;;&lt;br /&gt;
  config.coreStyles_italic = { element : &amp;#039;i&amp;#039;, overrides : &amp;#039;em&amp;#039; }; // i nicht durch em überschreiben (für font awesome)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Plugins hinzufügen ===&lt;br /&gt;
* https://weekly.pw/issue/13/#1-2 -&amp;gt; Plugins für CK Editor etc.&lt;br /&gt;
&lt;br /&gt;
== Probleme beheben ==&lt;br /&gt;
=== Cursor springt an den Anfang zurück ===&lt;br /&gt;
&lt;br /&gt;
=== Eigene Styles funktionieren nicht ===&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Editor&amp;diff=23322</id>
		<title>ProcessWire - Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Editor&amp;diff=23322"/>
		<updated>2018-09-20T18:07:00Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Konfiguration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;HINWEIS: Bei Änderungen an den Styles unbedingt Modul-Cache löschen (Module &amp;gt; Aktualisieren)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
 https://processwire.com/talk/topic/3023-module-ckeditor/&lt;br /&gt;
 https://processwire.com/talk/topic/14601-solved-ckeditor-custom-stylesclasses/&lt;br /&gt;
 https://processwire.com/talk/topic/19465-ckeditor-styles-dropdown-tips/&lt;br /&gt;
&lt;br /&gt;
== Der CKEditor ==&lt;br /&gt;
Ist der Standard Editor in PW. Es gibt auch Module mit denen man Ihn ersetzen kann. Im Prinzip aber ein mächtiges Werkzeug.&lt;br /&gt;
&lt;br /&gt;
Hinweis: In neueren Versionen von PW (mindestens ab V3) Sind einige der Angaben unten überholt. Zum Teil funktionieren Sie aber ncoh. Als Referenz bleiben Die Tutorials auf dieser Seite unten erhalten&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
Im Backend anpassen&lt;br /&gt;
=== Format Stile ===&lt;br /&gt;
In der Feldkonfiguration unter&lt;br /&gt;
 Input &amp;gt; Format Tags&lt;br /&gt;
 &lt;br /&gt;
=== Eigene Styles ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1. Styles Dropdown aktivieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Feldkonfiguration unter CK Editor Toolbar&lt;br /&gt;
 Styles&lt;br /&gt;
hinzufügen (am besten hinter Format)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 2.Styles Datei hinzufügen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Datei unter Eigenes JS Styles Set angeben...&lt;br /&gt;
 customstyles:/site/modules/InputfieldCKEditor/mystyles.js&lt;br /&gt;
und Datei anlegen. Die sieht z.B. so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  CKEDITOR.stylesSet.add( &amp;#039;customstyles&amp;#039;, [&lt;br /&gt;
   { name: &amp;#039;Home Icon&amp;#039;, element: &amp;#039;i&amp;#039;, attributes: {&amp;#039;class&amp;#039;: &amp;#039;fa fa-home fa-2x&amp;#039;}},&lt;br /&gt;
   { name: &amp;#039;Panel Title&amp;#039;, element: &amp;#039;h4&amp;#039;, attributes: {&amp;#039;class&amp;#039;: &amp;#039;panel-title&amp;#039;} },&lt;br /&gt;
  ]);&lt;br /&gt;
  CKEDITOR.dtd.$removeEmpty[&amp;#039;i&amp;#039;] = false; // leere i Tags erlauben (für font awesome)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hinweis: &amp;#039;&amp;#039;&amp;#039;Nicht mystyles:&amp;#039;&amp;#039;&amp;#039;/site/... Verwenden das führt zu Problemen im Backend. Mal sind die Stile da mal nicht. Also z.B. &amp;#039;&amp;#039;&amp;#039;customstyles in der Pfadangabe UND in der Datei verwenden.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Extra Allowed Content ===&lt;br /&gt;
Manche Tags werden ausgefiltert. Eigentlich sollte man im Backend CKEditor Extra Allowed Content Regeln anlegen können. Das hat bei mir in PW 3.0.64 nicht funktioniert. Weiterer Tipp&lt;br /&gt;
 site-&amp;gt;modules-&amp;gt;InputfieldCKEditor-&amp;gt;mystyle.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
config.allowedContent = true;&lt;br /&gt;
config.extraAllowedContent = &amp;#039;p(*)[*]{*};div(*)[*]{*};li(*)[*]{*};ul(*)[*]{*}&amp;#039;;&lt;br /&gt;
CKEDITOR.dtd.$removeEmpty.i = 0; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== i Tag erlauben (Möglichkeit 2)====&lt;br /&gt;
Siehe oben und erlaube&lt;br /&gt;
 // ALLOW &amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
 config.protectedSource.push(/&amp;lt;i[^&amp;gt;]*&amp;gt;&amp;lt;\/i&amp;gt;/g);&lt;br /&gt;
&lt;br /&gt;
== CKEditor allgemeines Wissen ==&lt;br /&gt;
Ein paar Infos zu CKEditor ohne PW. Viele Dinge sind ähnlich.&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
==== Toolbar ====&lt;br /&gt;
http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Toolbar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Plugins ===&lt;br /&gt;
Werden normalerweise mit einem Builder implementiert. Das geht bei PW nicht. Aber es gelten zum Teil die Regeln für Manuelle Installation. Manche Schritte z.B. aktivieren der Plugins macht man in PW aber wahlweise über die Feldkonfiguration.&lt;br /&gt;
&lt;br /&gt;
Beispiel Widget Plugin:&lt;br /&gt;
&lt;br /&gt;
If you want to add the plugin manually, you will need to:&lt;br /&gt;
* Extract the downloaded plugin .zip into the plugins folder of your CKEditor installation. Example:&lt;br /&gt;
 http://example.com/ckeditor/plugins/widget&lt;br /&gt;
* Enable the plugin by using the extraPlugins configuration setting. Example:&lt;br /&gt;
 config.extraPlugins = &amp;#039;widget&amp;#039;; &lt;br /&gt;
* Download and configure all its &amp;#039;&amp;#039;&amp;#039;dependencies&amp;#039;&amp;#039;&amp;#039;, too.&lt;br /&gt;
In PW&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
&lt;br /&gt;
=== Praktisches Beispiel 1===&lt;br /&gt;
&lt;br /&gt;
Im Tab Eingabe des Editor Felds kann man verschiedene Dinge Einstellen. Die meisten Felder sind auch recht gut erklärt:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Editor Toolbar einstellen&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Interessant ist hier der &amp;#039;&amp;#039;&amp;#039;Eintrag Styles&amp;#039;&amp;#039;&amp;#039;. Das Formatdialogfeld formatiert einzelne Blockstile wie h1 oder p. Im Styles Dropdown kann man auch Umgebende Blockelemente wie z.B. Divs mit speziellen Klassen nutzen. &lt;br /&gt;
&lt;br /&gt;
Guter Standard mit Tabellen und Styles Dropdown&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Format, Styles, -, Bold, Italic,Superscript, -,JustifyLeft,JustifyCenter,JustifyRight,-, RemoveFormat&lt;br /&gt;
NumberedList, BulletedList, -, Blockquote&lt;br /&gt;
PWLink, Unlink, Anchor&lt;br /&gt;
&lt;br /&gt;
PWImage, Table, HorizontalRule, SpecialChar&lt;br /&gt;
PasteText, PasteFromWord,-,Undo,Redo&lt;br /&gt;
Scayt, -, Sourcedialog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tags formatieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Hier kann man festlegen welche &amp;#039;&amp;#039;&amp;#039;Tags im Format Dropdown&amp;#039;&amp;#039;&amp;#039; ausgewählt werden können. Hier ein Beispiel bei dem wir h1 weglassen. H1 wird oft über das Template selbst ausgegeben und sollte nur einmal pro Seite auftauchen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
p;h2;h3;h4;h5;h6;pre;address&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Styles festlegen &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Um die oben erwähnten Styles anzupassen wir eine kleine JavaScript Datei. Wo diese liegt legen wir im Abschnitt &amp;#039;&amp;#039;&amp;#039;Eigenes Editor-JS-Style-Set&amp;#039;&amp;#039;&amp;#039; fest. Wir nutzen den bereits vorgeschlagenen Pfad tragen diesen ein und legen die Datei an:&lt;br /&gt;
 customstyles:/site/modules/InputfieldCKEditor/mystyles.js&lt;br /&gt;
&lt;br /&gt;
UIkit Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
CKEDITOR.stylesSet.add( &amp;#039;customstyles&amp;#039;, [&lt;br /&gt;
 /* Blockstyles */&lt;br /&gt;
 { name: &amp;#039;Zweispalter&amp;#039;, element: &amp;#039;div&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-column-1-2@s&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Dreipalter&amp;#039;, element: &amp;#039;div&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-column-1-2@s uk-column-1-3@m&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Vierspalter&amp;#039;, element: &amp;#039;div&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-column-1-2@s uk-column-1-4@m&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Heading Divider&amp;#039;, element: &amp;#039;h3&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-heading-divider&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Heading Line&amp;#039;, element: &amp;#039;h&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-heading-line&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Heading Bullet&amp;#039;, element: &amp;#039;h&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-heading-bullet&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Liste mit Kugel (UIkit)&amp;#039;, element: &amp;#039;ul&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-list uk-list-bullet&amp;#039;}},&lt;br /&gt;
 { name: &amp;#039;Liste mit Linie (UIkit)&amp;#039;, element: &amp;#039;ul&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-list uk-list-divide&amp;#039;}}&lt;br /&gt;
/* Inline Styles */&lt;br /&gt;
{ name: &amp;#039;Klein (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-small&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Groß (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-large&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Kleinbuchstaben (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-lowercase&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Großbuchstaben (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-uppercase&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Kapitälchen (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-capitalize&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Muted (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-muted&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Primär (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-primary&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Erfolg (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-success&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Warnung (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-warning&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Farbe: Gefahr (UIkit)&amp;#039;, element: &amp;#039;span&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;uk-text-danger&amp;#039; } },&lt;br /&gt;
{ name: &amp;#039;Klein&amp;#039;, element: &amp;#039;small&amp;#039; },&lt;br /&gt;
{ name: &amp;#039;Gel&amp;amp;ouml;scht&amp;#039;, element: &amp;#039;del&amp;#039; },&lt;br /&gt;
{ name: &amp;#039;Eingefügt&amp;#039;, element: &amp;#039;ins&amp;#039; },&lt;br /&gt;
{ name: &amp;#039;Zitat&amp;#039;, element: &amp;#039;cite&amp;#039; }&lt;br /&gt;
]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hinweis: Span Elemente sind oft p Elementen vorzuziehen, da sie Inline angewendet werden können. So ist es möglich einen Muted Text innerhalb eines Absatzes einzusetzen.&lt;br /&gt;
&lt;br /&gt;
Einfaches Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
CKEDITOR.stylesSet.add( &amp;#039;customstyles&amp;#039;, [&lt;br /&gt;
 { name: &amp;#039;Mein Spezialabsatz&amp;#039;, element: &amp;#039;p&amp;#039;, attributes: { &amp;#039;class&amp;#039;: &amp;#039;myParagraphStyle&amp;#039; } },&lt;br /&gt;
 { name: &amp;#039;Klein&amp;#039;, element: &amp;#039;small&amp;#039; },&lt;br /&gt;
 { name: &amp;#039;Gelöscht&amp;#039;, element: &amp;#039;del&amp;#039; },&lt;br /&gt;
 { name: &amp;#039;Eingefügt&amp;#039;, element: &amp;#039;ins&amp;#039; },&lt;br /&gt;
 { name: &amp;#039;Zitat&amp;#039;, element: &amp;#039;cite&amp;#039; }&lt;br /&gt;
]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Stile im Editor einbinden &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Weiter Forum Beispiele ==&lt;br /&gt;
https://processwire.com/talk/topic/9606-how-to-configure-ckeditortextarea-field-to-enable-color-toolbar/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Konfiguration CKEditor in PW (alt)==&lt;br /&gt;
&lt;br /&gt;
 /sites &lt;br /&gt;
ausgelagert und somit auch Updatefähig. Abschauen kann man im original Modul in &lt;br /&gt;
 wire/site/modules/InputfieldCKEditor/&lt;br /&gt;
Dort gibe es diverse Dateien. Allerdings ist nicht alles möglich, was in der CKEditor Doku steht. In PW können scheinbar manche Einstellungen nicht über die Dateien geregelt werden.&lt;br /&gt;
&lt;br /&gt;
=== Wo stellt man was ein ? ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; Nicht alles was hier steht funktioniert auch so. Am besten im Backend in der Feldkonfiguration schauen und dort die Pfade anpassen.&lt;br /&gt;
Ordner:&lt;br /&gt;
 site/modules/InputfieldCKEditor/&lt;br /&gt;
Konfiguration gültig &amp;#039;&amp;#039;&amp;#039;für alle Felder im Backend&amp;#039;&amp;#039;&amp;#039; (hat bei mir bisher nicht ohne die Backendkonfiguration für das Feld funktioniert)&lt;br /&gt;
 config.js&lt;br /&gt;
Konfiguration für ein bestimmtes Feld falls vorhanden&lt;br /&gt;
 config.[fieldname.]js &lt;br /&gt;
 mystyles.js -&amp;gt; ein selbstbenanntes Feld kann im Backend bei der Konfiguration des CKEditor Feldes angegeben werden.&lt;br /&gt;
&lt;br /&gt;
Allgemeine Konfiguration. Z.B. Styles hinzufügen, removeFormatTags, &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Alles was der Editor beim Eingeben mit &amp;#039;&amp;#039;&amp;#039;JavaScript&amp;#039;&amp;#039;&amp;#039; bearbeitet. Außerdem &amp;#039;&amp;#039;&amp;#039;Style Auswahl anpassen&amp;#039;&amp;#039;&amp;#039; alle Optionen die mit &amp;#039;&amp;#039;&amp;#039;CKEDITOR.&amp;#039;&amp;#039;&amp;#039; anfangen&lt;br /&gt;
 content.css&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Stile die der Editor bei der Eingabe benutzt. Also quasi die Vorschau für den Benutzer.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 contents-inline.css&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Stile für die Vorschau beim Inline Editor&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Feldkonfiguration im Admin Bereich PW&lt;br /&gt;
&lt;br /&gt;
Hier muß die &amp;#039;&amp;#039;&amp;#039;Toolbar&amp;#039;&amp;#039;&amp;#039; eingestellt werden. Über Konfig hat es bisher nicht geklappt. Hier muss auch die &amp;#039;&amp;#039;&amp;#039;CSS Datei für die Inline Styles&amp;#039;&amp;#039;&amp;#039; angegeben werden. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Überschreiben in der config.js&amp;#039;&amp;#039;&amp;#039; hat bei mir nicht funktioniert - in aktueller Version 3.062 klappt es..&lt;br /&gt;
&lt;br /&gt;
 Auch &amp;#039;&amp;#039;&amp;#039;Plugins&amp;#039;&amp;#039;&amp;#039; müssen hier ausgewählt werden, damit sie eingebunden werden. Dies funktioniert also alles nur auf Feld-Ebene und nicht global.&lt;br /&gt;
=== CKEditor Buttons anpassen===&lt;br /&gt;
Wenn man ein Textarea Feld definiert, kann man auch für dieses Feld den CKEditor anpassen. Das geht im Backend in der &amp;#039;&amp;#039;&amp;#039;Feldkonfiguration unter dem Reiter Eingabe.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Beispiel: Hier werden &amp;#039;&amp;#039;&amp;#039;Buttons für die Textausrichtung hinzugefügt.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Format, Styles, -, Bold, Italic,Superscript, -,JustifyLeft,JustifyCenter,JustifyRight,-, RemoveFormat&lt;br /&gt;
NumberedList, BulletedList, -, Blockquote&lt;br /&gt;
PWLink, Unlink, Anchor&lt;br /&gt;
&lt;br /&gt;
PWImage, Table, HorizontalRule, SpecialChar&lt;br /&gt;
PasteText, PasteFromWord,-,Undo,Redo&lt;br /&gt;
Scayt, -, Sourcedialog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Default Einstellungen ===&lt;br /&gt;
Todo: TESTEN ob das wirklich funktioniert&lt;br /&gt;
Kann man im Modulverzeichnis unter site/modules hinterlegen. Achtung nicht im Modulverzeichnis unter wire überschreiben. Das ist beim nächsten Update weg.&lt;br /&gt;
 /site/modules/InputfieldCKEditor/config.js -&amp;gt; überschreibt oder ergänzt die Default Einstellung&lt;br /&gt;
 /site/modules/InputfieldCKEditor/config.body.js -&amp;gt; überschreibt oder ergänzt das body Feld&lt;br /&gt;
Beispiele:&lt;br /&gt;
 config.startupOutlineBlocks = true;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CKEDITOR.editorConfig = function( config ) {&lt;br /&gt;
	config.justifyClasses = [ &amp;#039;left&amp;#039;, &amp;#039;center&amp;#039;, &amp;#039;right&amp;#039;, &amp;#039;justify&amp;#039; ];&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Leider funktionieren viele Einstellungen hier nicht, die im original CKEditor möglich sind.&lt;br /&gt;
&lt;br /&gt;
=== Eigene Styles ===&lt;br /&gt;
Eigene Stile zur Auswahl im &amp;#039;&amp;#039;&amp;#039;Styles&amp;#039;&amp;#039;&amp;#039; Dropdown&lt;br /&gt;
 site-&amp;gt;modules-&amp;gt;InputfieldCKEditor-&amp;gt;mystyles.js&lt;br /&gt;
anpassen.&lt;br /&gt;
Im Backend den Pfad hinzufügen (siehe Beispiel unten)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konfigurationsbeispiele ===&lt;br /&gt;
Im Adminbereich im content_main Feld:&lt;br /&gt;
&lt;br /&gt;
==== CKEditor Toolbar ====&lt;br /&gt;
Added justify buttons...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Format, Styles, -, Bold, Italic, Superscript, -,JustifyLeft ,JustifyCenter ,JustifyRight , -, RemoveFormat&lt;br /&gt;
NumberedList, BulletedList, -, Blockquote&lt;br /&gt;
&lt;br /&gt;
PWLink, Unlink, Anchor, PWImage, Table, HorizontalRule, SpecialChar&lt;br /&gt;
PasteText, PasteFromWord,-,Undo,Redo&lt;br /&gt;
Scayt, -, Sourcedialog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blöcke anzeigen, Smileys&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Format, Styles, -, Bold, Italic, Underline, Strike, Superscript, Subscript,&lt;br /&gt;
JustifyLeft ,JustifyCenter ,JustifyRight , -,  &lt;br /&gt;
NumberedList, BulletedList, -, Blockquote&lt;br /&gt;
&lt;br /&gt;
PWLink, Unlink, Anchor, PWImage, Table, HorizontalRule, SpecialChar, Smiley, ShowBlocks, RemoveFormat,&lt;br /&gt;
PasteText, PasteFromWord,-, Undo, Redo, -, Sourcedialog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Custom Editor CSS File ====&lt;br /&gt;
Für die &amp;#039;&amp;#039;&amp;#039;im Editor angezeigten Stile&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 site/modules/InputfieldCKEditor/contents.css&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
@import url(&amp;#039;../../templates/vendors/fa/css/font-awesome.min.css&amp;#039;);&lt;br /&gt;
@import url(&amp;#039;../../templates/vendors/bootstrap/css/bootstrap.min.css&amp;#039;);&lt;br /&gt;
@import url(&amp;#039;../../templates/css/main.css&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
.cke_editable {&lt;br /&gt;
	font-size: 14px;&lt;br /&gt;
	line-height: 1.6em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cke_contents_ltr blockquote {&lt;br /&gt;
	padding-left: 20px;&lt;br /&gt;
	padding-right: 8px;&lt;br /&gt;
	border-left-width: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cke_contents_rtl blockquote {&lt;br /&gt;
	padding-left: 8px;&lt;br /&gt;
	padding-right: 20px;&lt;br /&gt;
	border-right-width: 5px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Custom Editor JS File ====&lt;br /&gt;
&lt;br /&gt;
Für die Auswahlfelder in der &amp;#039;&amp;#039;&amp;#039;Toolbar&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 customstyles:/site/modules/InputfieldCKEditor/mystyles.js&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  CKEDITOR.stylesSet.add( &amp;#039;mystyles&amp;#039;, [&lt;br /&gt;
   { name: &amp;#039;Home Icon&amp;#039;, element: &amp;#039;i&amp;#039;, attributes: {&amp;#039;class&amp;#039;: &amp;#039;fa fa-home fa-2x&amp;#039;}},&lt;br /&gt;
   { name: &amp;#039;Panel Title&amp;#039;, element: &amp;#039;h4&amp;#039;, attributes: {&amp;#039;class&amp;#039;: &amp;#039;panel-title&amp;#039;} },&lt;br /&gt;
  ]);&lt;br /&gt;
  CKEDITOR.dtd.$removeEmpty[&amp;#039;i&amp;#039;] = false; // leere i Tags erlauben (für font awesome)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== config.js ====&lt;br /&gt;
In /site/modules/InputfieldCKEditor/config.js (oder config.feldname.js)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
CKEDITOR.editorConfig = function( config ) {&lt;br /&gt;
  config.uiColor = &amp;#039;#AADC6E&amp;#039;;&lt;br /&gt;
  config.coreStyles_italic = { element : &amp;#039;i&amp;#039;, overrides : &amp;#039;em&amp;#039; }; // i nicht durch em überschreiben (für font awesome)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Plugins hinzufügen ===&lt;br /&gt;
* https://weekly.pw/issue/13/#1-2 -&amp;gt; Plugins für CK Editor etc.&lt;br /&gt;
&lt;br /&gt;
== Probleme beheben ==&lt;br /&gt;
=== Cursor springt an den Anfang zurück ===&lt;br /&gt;
&lt;br /&gt;
=== Eigene Styles funktionieren nicht ===&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Tipps_%26_Tricks&amp;diff=23321</id>
		<title>ProcessWire - Tipps &amp; Tricks</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Tipps_%26_Tricks&amp;diff=23321"/>
		<updated>2018-09-20T17:59:28Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: Die Seite wurde neu angelegt: „== HTML == === Tags on the fly umwandeln mit ready.php=== Die Datei   site/ready.php  kann genutzt werden um die Ausgabe von Feldern noch einmal zu bearbeiten.…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTML ==&lt;br /&gt;
=== Tags on the fly umwandeln mit ready.php===&lt;br /&gt;
Die Datei &lt;br /&gt;
 site/ready.php &lt;br /&gt;
kann genutzt werden um die Ausgabe von Feldern noch einmal zu bearbeiten. Hier werden alle &amp;lt;blockquote&amp;gt; Tags durch eine Klasse ergänzt.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
if($page-&amp;gt;template-&amp;gt;hasField(&amp;#039;name-of-your-ckeditor-field&amp;#039;)){&lt;br /&gt;
  $string = $page-&amp;gt;name-of-your-ckeditor-field;&lt;br /&gt;
   //create string replace for blockquote&lt;br /&gt;
  $string = str_replace(&amp;#039;&amp;lt;blockquote&amp;gt;&amp;#039;, &amp;#039;&amp;lt;blockquote class=&amp;quot;blockquote&amp;quot;&amp;gt;&amp;#039;, $string);&lt;br /&gt;
  //here you can add further manipulations....&lt;br /&gt;
  //..............&lt;br /&gt;
  //finally set the value back with manipulations&lt;br /&gt;
  $page-&amp;gt;name-of-your-ckeditor-field = $string;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte&amp;diff=23320</id>
		<title>Datenschutz - Mustertexte</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte&amp;diff=23320"/>
		<updated>2018-09-18T07:42:21Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* OpenStreetMaps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Todos ==&lt;br /&gt;
Text f. Bewerbung&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Schön wäre ein Datenschutzhinweis der kurz und Verständlich formuliert ist und eine ausführliche Datenschutzerklärung&lt;br /&gt;
&lt;br /&gt;
== Checkliste - Einzelvorgänge ==&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
==== Verantwortlicher ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NAME UND ANSCHRIFT DES VERANTWORTLICHEN&lt;br /&gt;
Der Verantwortliche im Sinne der Datenschutz-Grundverordnung und anderer nationaler Datenschutzgesetze der Mitgliedsstaaten sowie sonstiger datenschutzrechtlicher Bestimmungen ist:&lt;br /&gt;
&lt;br /&gt;
Musterfirma&lt;br /&gt;
Musterstraße 1&lt;br /&gt;
12345 Musterstadt&lt;br /&gt;
Deutschland&lt;br /&gt;
Tel.: Telefonnummer&lt;br /&gt;
E-Mail: muster@e-mail.de&lt;br /&gt;
Website: www.musterwebsite.de&lt;br /&gt;
&lt;br /&gt;
DATENSCHUTZBEAUFTRAGTER&lt;br /&gt;
&lt;br /&gt;
Der Datenschutzbeauftragte des Verantwortlichen ist:&lt;br /&gt;
&lt;br /&gt;
Max Mustermann &lt;br /&gt;
Musterunternehmen (wenn extern)&lt;br /&gt;
Musterstraße 1&lt;br /&gt;
12345 Musterstadt&lt;br /&gt;
Deutschland&lt;br /&gt;
Tel.: Telefonnummer&lt;br /&gt;
E-Mail: max.mustermann@e-mail.de&lt;br /&gt;
Website: www.musterwebsite.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sie können diese Website in der Regel ohne Angabe personenbezogener Daten nutzen. Soweit wir personenbezogene Daten erfassen (z.B. wenn Sie mit uns in Kontakt treten möchten), erfolgt dies stets gemäß den gesetzlichen Datenschutzvorschriften, sowie dieser Datenschutzerklärung. Ohne ausdrückliche Zustimmung werden Ihre Daten niemals an Dritte weitergegeben.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Verschlüsselte Datenübertragung ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
VERSCHLÜSSELTE DATENÜBERTRAGUNG&lt;br /&gt;
&lt;br /&gt;
Auf allen Seiten unseres Internetangebots, auf denen Sie persönliche Daten eingeben - so z. B. in unserem Kontaktformular, werden Ihre Daten direkt bei der Übertragung verschlüsselt. Alle datenschutzrelevanten Informationen (wie Name und Adresse) werden geschützt gespeichert.&lt;br /&gt;
Wir möchten Sie darauf hinweisen, dass die Datenübertragung im Internet (z .B. wenn Sie uns eine E-Mail schreiben) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist generell nicht möglich.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Umfang der Verarbeitung ====&lt;br /&gt;
Quelle Uni Münster (überarbeitet)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UMFANG DER VERARBEITUNG PERSONENBEZOGENER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir verarbeiten personenbezogene Daten unserer Nutzer grundsätzlich nur, soweit dies für die Funktion der Website und die Bereitstellung der Inhalte und angebotenen Leistungen erforderlich ist. Die Verarbeitung personenbezogener Daten unserer Nutzer erfolgt regelmäßig nur nach Einwilligung des Nutzers. Ausnahmen gelten, wenn eine vorherige Einholung einer Einwilligung aus tatsächlichen Gründen nicht möglich ist und die Verarbeitung der Daten durch gesetzliche Vorschriften gestattet ist. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Rechtsgrundlage der Verarbeitung====&lt;br /&gt;
Quelle Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RECHTSGRUNDLAGE FÜR DIE VERARBEITUNG PERSONENBEZOGENER DATEN&lt;br /&gt;
&lt;br /&gt;
Soweit wir für Verarbeitungsvorgänge personenbezogener Daten eine Einwilligung der betroffenen Person einholen, dient Art. 6 Abs. 1 lit. a EU-Datenschutzgrundverordnung (DS-GVO) als Rechtsgrundlage.&lt;br /&gt;
Bei der Verarbeitung von personenbezogenen Daten, die zur Erfüllung eines Vertrages, dessen Vertragspartei die betroffene Person ist, erforderlich ist, dient Art. 6 Abs. 1 lit. b DS-GVO als Rechtsgrundlage. Dies gilt auch für Verarbeitungsvorgänge, die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind.&lt;br /&gt;
Soweit eine Verarbeitung personenbezogener Daten zur Erfüllung einer rechtlichen Verpflichtung erforderlich ist, der unser Unternehmen unterliegt, dient Art. 6 Abs. 1 lit. c DS-GVO als Rechtsgrundlage.&lt;br /&gt;
Für den Fall, dass lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person eine Verarbeitung personenbezogener Daten erforderlich machen, dient Art. 6 Abs. 1 lit. d DS-GVO als Rechtsgrundlage.&lt;br /&gt;
Ist die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich und überwiegen die Interessen, Grundrechte und Grundfreiheiten des Betroffenen das erstgenannte Interesse nicht, so dient Art. 6 Abs. 1 lit. f DS-GVO als Rechtsgrundlage für die Verarbeitung. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Datenlöschung und Speicherdauer ====&lt;br /&gt;
Quelle Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATENLÖSCHUNG UND SPEICHERDAUER&lt;br /&gt;
&lt;br /&gt;
Die personenbezogenen Daten der betroffenen Person werden gelöscht oder gesperrt, sobald der Zweck der Speicherung entfällt. Eine Speicherung kann darüber hinaus erfolgen, wenn dies durch den europäischen oder nationalen Gesetzgeber in unionsrechtlichen Verordnungen, Gesetzen oder sonstigen Vorschriften, denen der Verantwortliche unterliegt, vorgesehen wurde. Eine Sperrung oder Löschung der Daten erfolgt auch dann, wenn eine durch die genannten Normen vorgeschriebene Speicherfrist abläuft, es sei denn, dass eine Erforderlichkeit zur weiteren Speicherung der Daten für einen Vertragsabschluss oder eine Vertragserfüllung besteht.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bereitstellung der Website und Erstellung von Logfiles ===&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BEREITSTELLUNG DER WEBSITE UND ERSTELLUNG VON LOGFILES&lt;br /&gt;
&lt;br /&gt;
Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
Bei jedem Aufruf unserer Internetseite erfasst unser System automatisiert Daten und Informationen vom Computersystem des aufrufenden Rechners. &lt;br /&gt;
Folgende Daten werden hierbei erhoben:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dieser Teil ist entsprechend anzupassen. Nicht zutreffende Daten sind zu entfernen, fehlende zu ergänzen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Informationen über den Browsertyp und die verwendete Version&lt;br /&gt;
Das Betriebssystem des Nutzers&lt;br /&gt;
Den Internet-Service-Provider des Nutzers&lt;br /&gt;
Die IP-Adresse des Nutzers&lt;br /&gt;
Datum und Uhrzeit des Zugriffs&lt;br /&gt;
Websites, von denen das System des Nutzers auf unsere Internetseite gelangt &lt;br /&gt;
Websites, die vom System des Nutzers über unsere Website aufgerufen werden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Option 1: &amp;#039;&amp;#039;&amp;#039;Die Logfiles enthalten IP-Adressen&amp;#039;&amp;#039;&amp;#039; oder sonstige Daten, &amp;#039;&amp;#039;&amp;#039;die eine Zuordnung zu einem Nutzer ermöglichen&amp;#039;&amp;#039;&amp;#039;. Dies könnte beispielsweise der Fall sein, wenn der Link zur Website, von der der Nutzer auf die Internetseite gelangt, oder der Link zur Website, zu der der Nutzer wechselt, personenbezogene Daten enthält.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Option 2: Die &amp;#039;&amp;#039;&amp;#039;Logfiles enthalten keine IP-Adressen oder sonstigen Daten, die eine Zuordnung zu einem Nutzer ermöglichen&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. Nicht hiervon betroffen sind die IP-Adressen des Nutzers oder andere Daten, die die Zuordnung der Daten zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Option 3: anonymisierte Logfiles&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. IP-Adressen werden im Logfile  teilanonymisiert gespeichert, ihnen fehlt dadurch das Merkmal der Personenbezogenheit. Es werden keine Daten gespeichert, die eine Zuordnung der Daten zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&lt;br /&gt;
 Rechtsgrundlage für die vorübergehende Speicherung der Daten und der Logfiles ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Falls keine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&lt;br /&gt;
 Rechtsgrundlage für die vorübergehende Speicherung der Daten ist Art. 6 Abs. 1 lit. f DSGVO. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die vorübergehende Speicherung der IP-Adresse durch das System ist notwendig, um eine Auslieferung der Website an den Rechner des Nutzers zu ermöglichen. Hierfür muss die IP-Adresse des Nutzers für die Dauer der Sitzung gespeichert bleiben. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Speicherung in Logfiles erfolgt, um die Funktionsfähigkeit der Website sicherzustellen. Zudem dienen uns die Daten zur Optimierung der Website und zur Sicherstellung der Sicherheit unserer informationstechnischen Systeme. Eine Auswertung der Daten zu Marketingzwecken findet in diesem Zusammenhang nicht statt. &lt;br /&gt;
&lt;br /&gt;
In diesen Zwecken liegt auch unser berechtigtes Interesse an der Datenverarbeitung nach Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dauer der Speicherung&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Im Falle der Erfassung der Daten zur Bereitstellung der Website ist dies der Fall, wenn die jeweilige Sitzung beendet ist. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Im Falle der Speicherung der Daten in Logfiles ist dies nach spätestens sieben Tagen der Fall. Eine darüberhinausgehende Speicherung ist möglich. In diesem Fall werden die IP-Adressen der Nutzer gelöscht oder verfremdet, sodass eine Zuordnung des aufrufenden Clients nicht mehr möglich ist.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Die Erfassung der Daten zur Bereitstellung der Website und die Speicherung der Daten in Logfiles ist für den Betrieb der Internetseite zwingend erforderlich. Es besteht folglich seitens des Nutzers keine Widerspruchsmöglichkeit. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Erstellung von Zugriffsstatistik (Webalizer) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ERSTELLUNG DER ZUGRIFFSSTATISTIK&lt;br /&gt;
&lt;br /&gt;
Diese Website verwendet Webalizer.&lt;br /&gt;
Bei diesem Produkt handelt es sich um einen Web-Analyse-Dienst, der Daten über das Verhalten von Besuchern von Webseiten erhebt, sammelt und auswertet. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Webseite eine betroffene Person auf eine Webseite gekommen ist (wenn die Person zuvor einen Link geklickt hat), auf welche Unterseiten der Webseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde.&lt;br /&gt;
&lt;br /&gt;
Der Zweck der Verwendung ist die Auswertung der Nutzung von Webseiten zur Verbesserung des Angebots und der Bedienung. Durch die Auswertung kann in Erfahrung gebracht werden, wie die jeweilige Website genutzt wird und so das Angebot der Webseite stetig optimiert werden.&lt;br /&gt;
&lt;br /&gt;
Die auf diese Weise zu Analysezwecken erhoben Daten der Nutzer werden durch technische Vorkehrungen anonymisiert. Daher ist eine Zuordnung der Daten zum aufrufenden Nutzer nicht mehr möglich. Die Daten werden nicht gemeinsam mit sonstigen personenbezogenen Daten der Nutzer gespeichert.&lt;br /&gt;
&lt;br /&gt;
In diesen Zwecken liegt auch das berechtigte Interesse des Webseitenbetreibers in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1 Buchstabe f DSGVO. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Zeitlich unbegrenzt (bis zum manuellen Entfernen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Dienst speichert die von ihnen verarbeiteten Daten ohne zeitliche Begrenzung. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder (Default Einstellung all-inkl)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Dienst speichert die verarbeiteten Daten für 190 Tage.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Dients nutzt keine Cookies, sondern verarbeiten ausschließlich die Daten des Logfiles (siehe Erstellung von Logfiles). IP-Adressen werden im Logfile  teilanonymisiert gespeichert, ihnen fehlt darum das Merkmal der Personenbezogenheit.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cookies ===&lt;br /&gt;
https://accentikainternet.co.uk/article-details/article/make-your-typo3-website-cookie-compliant-with-eu-law.html (netter englischer text)&lt;br /&gt;
&lt;br /&gt;
==== Cookies Text ====&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
VERWENDUNG VON COOKIES&lt;br /&gt;
&lt;br /&gt;
Unsere Webseite verwendet Cookies. Bei Cookies handelt es sich um Textdateien, die im Internetbrowser bzw. vom Internetbrowser auf dem Computersystem des Nutzers gespeichert werden. Dieser Cookie enthält eine charakteristische Zeichenfolge. Dadurch können wir den Browser beim erneuten Aufrufen der Website wiedererkennen.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Verwendung technisch notwendiger Cookies erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Durch den Einsatz von Cookies können wir unsere Website nutzerfreundlicher gestalten. Einige Elemente unserer Internetseite erfordern es, dass der aufrufende Browser auch nach einem Seitenwechsel identifiziert werden kann. &lt;br /&gt;
Für folgende Zwecke nutzen wir Cookies:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es folgt eine Auflistung der gespeicherten Daten. Beispiele können sein:&lt;br /&gt;
* Merken von Spracheinstellungen&lt;br /&gt;
* Speichern von Artikel im Warenkorb&lt;br /&gt;
* Verwalten Log-In-Informationen&lt;br /&gt;
* Speichern von Benutzereinstellungen&lt;br /&gt;
* Verbesserung der Sicherheit&lt;br /&gt;
&lt;br /&gt;
Falls zudem eine Verwendung technisch nicht notwendiger Cookies erfolgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Wir verwenden auf unserer Website darüber hinaus Cookies, die eine Analyse des Surfverhaltens der Nutzer ermöglichen. &lt;br /&gt;
Auf diese Weise können folgende Daten übermittelt werden:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es folgt eine Auflistung der erhobenen Daten. Diese können beispielsweise sein:&lt;br /&gt;
* (1) Eingegebene Suchbegriffe&lt;br /&gt;
* (2) Häufigkeit von Seitenaufrufen&lt;br /&gt;
* (3) Inanspruchnahme von Website-Funktionen&lt;br /&gt;
&lt;br /&gt;
Bislang war es nach § 15 Abs. 3 TMG möglich, für technisch nicht notwendige Cookies eine Pseudonymisierung der verarbeiteten personenbezogenen Daten vorzunehmen und den Nutzer über die Verwendung der Cookies und sein Widerspruchs- und Beseitigungsrecht zu informieren („Opt-Out-Lösung“). Es ist jedoch in der juristischen Literatur umstritten, ob diese Norm auch nach Geltung der DSGVO weiter Anwendung findet. Im Zweifel muss daher davon ausgegangen werden, dass nunmehr allein die Vorschriften der DSGVO gelten. In diesem Fall ist allein auf Art. 6 Abs. 1 DSGVO abzustellen. Auch nach dieser Norm ist eine Fortführung der bisherigen Praxis denkbar, wenn auf ein „berechtigtes Interesse“ des Verarbeitenden nach Art. 6 Abs. 1 lit. f DSGVO abgestellt wird. Falls also vor dem Setzen und Abrufen der technisch nicht notwendigen Cookies keine Einwilligung des Nutzers eingeholt wird:&lt;br /&gt;
Die auf diese Weise erhobenen Daten der Nutzer werden durch technische Vorkehrungen pseudonymisiert. Daher ist eine Zuordnung der Daten zum aufrufenden Nutzer nicht mehr möglich. Die Daten werden nicht gemeinsam mit sonstigen personenbezogenen Daten der Nutzer gespeichert.&lt;br /&gt;
Beim Aufruf unserer Website werden die Nutzer durch einen Infobanner über die Verwendung von Cookies zu Analysezwecken informiert und auf diese Datenschutzerklärung verwiesen. Es erfolgt in diesem Zusammenhang auch ein Hinweis darauf, wie die Speicherung von Cookies in den Browsereinstellungen unterbunden werden kann.&lt;br /&gt;
Ob die bisherige Praxis der „Opt-Out-Lösung“ den Anforderungen des Art. 6 Abs. 1 lit. f DGVO gerecht wird, kann derzeit nicht mit Sicherheit gesagt werden. Klarheit könnte diesbezüglich die geplante E-Privacy-Verordnung bringen. Bis dahin besteht die rechtssicherste Lösung allerdings darin, eine vorherige Einwilligung des Nutzers einzuholen („Opt-In-Lösung“). &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Falls also vor dem Setzen und Abrufen der technisch nicht notwendigen Cookies eine Einwilligung des Nutzers eingeholt wird:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Beim Aufruf unserer Website wird der Nutzer über die Verwendung von Cookies zu Analysezwecken informiert und seine Einwilligung zur Verarbeitung der in diesem Zusammenhang verwendeten personenbezogenen Daten eingeholt. In diesem Zusammenhang erfolgt auch ein Hinweis auf diese Datenschutzerklärung. &lt;br /&gt;
b) Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls nur eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger Cookies&amp;#039;&amp;#039;&amp;#039; erfolgt &amp;#039;&amp;#039;&amp;#039;oder&amp;#039;&amp;#039;&amp;#039; eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger Cookies und technisch nicht notwendiger Cookies ohne vorherige Einholung einer Einwilligung des Nutzers&amp;#039;&amp;#039;&amp;#039; erfolgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger und nicht notwendiger Cookies mit vorheriger Einholung einer Einwilligung&amp;#039;&amp;#039;&amp;#039; des Nutzers erfolgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung technisch notweniger Cookies ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies zu Analysezwecken ist bei Vorliegen einer diesbezüglichen Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
c) Zweck der Datenverarbeitung&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger Cookies&amp;#039;&amp;#039;&amp;#039; erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Zweck der Verwendung technisch notwendiger Cookies ist, die Nutzung von Websites für die Nutzer zu vereinfachen. Einige Funktionen unserer Internetseite können ohne den Einsatz von Cookies nicht angeboten werden. Für diese ist es erforderlich, dass der Browser auch nach einem Seitenwechsel wiedererkannt wird.&lt;br /&gt;
Für folgende Anwendungen benötigen wir Cookies:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es folgt eine Auflistung der Anwendungen. Beispiele können sein:&lt;br /&gt;
* (1) Warenkorb&lt;br /&gt;
* (2) Übernahme von Spracheinstellungen&lt;br /&gt;
* (3) Merken von Suchbegriffen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die durch technisch notwendige Cookies erhobenen Nutzerdaten werden nicht zur Erstellung von Nutzerprofilen verwendet.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Falls kein Tracking und keine Drittanbieter Cookies &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Todo...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Falls zudem eine Verwendung technisch nicht notwendiger Cookies&amp;#039;&amp;#039;&amp;#039; erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Verwendung der Analyse-Cookies erfolgt zu dem Zweck, die Qualität unserer Website und ihre Inhalte zu verbessern. Durch die Analyse-Cookies erfahren wir, wie die Website genutzt wird und können so unser Angebot stetig optimieren.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Der genaue Einsatzzweck der Analysecookies sollte an dieser Stelle genauer beschrieben werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
In diesen Zwecken liegt auch unser berechtigtes Interesse in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1 lit. f DSGVO. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
e) Dauer der Speicherung, Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Cookies werden auf dem Rechner des Nutzers gespeichert und von diesem an unserer Seite übermittelt. Daher haben Sie als Nutzer auch die volle Kontrolle über die Verwendung von Cookies. Durch eine Änderung der Einstellungen in Ihrem Internetbrowser können Sie die Übertragung von Cookies deaktivieren oder einschränken. Bereits gespeicherte Cookies können jederzeit gelöscht werden. Dies kann auch automatisiert erfolgen. Werden Cookies für unsere Website deaktiviert, können möglicherweise nicht mehr alle Funktionen der Website vollumfänglich genutzt werden.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Wordpress Cookies====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Verwendetet Cookies im Detail:&lt;br /&gt;
Technisch notwendige Cookies:&lt;br /&gt;
wordpress_logged_in_[hash]&lt;br /&gt;
Wird gesetzt wenn sich ein Benutzer anmeldet. Management des An- und Abmeldeprozess&lt;br /&gt;
wp-settings-{time}-[UID]&lt;br /&gt;
Managment der Kommentarfunktion. Verhindert im wesentlichen, dass der Kommentator Eingaben doppelt machen muss.&lt;br /&gt;
comment_author_{HASH}&lt;br /&gt;
comment_author_email_{HASH}&lt;br /&gt;
comment_author_url_{HASH}&lt;br /&gt;
Wird gesetzt, wenn Benutzer die Kommentarfunktion nutzen. Dient dazu dem Kommentatoren doppelte Eingaben zu ersparen.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
WordPress Cookies&lt;br /&gt;
&lt;br /&gt;
After login, wordpress sets the wordpress_logged_in_[hash] cookie, which indicates when you’re logged in, and who you are, for most interface use.&lt;br /&gt;
&lt;br /&gt;
WordPress also sets a few wp-settings-{time}-[UID] cookies. The number on the end is your individual user ID from the users database table. This is used to customise your view of admin interface, and possibly also the main site interface.&lt;br /&gt;
&lt;br /&gt;
When visitors comment on your blog, they too get cookies stored on their computer. This is purely a convenience, so that the visitor won’t need to re-type all their information again when they want to leave another comment. Altogether three are set for commenters:&lt;br /&gt;
&lt;br /&gt;
comment_author_{HASH}&lt;br /&gt;
comment_author_email_{HASH}&lt;br /&gt;
comment_author_url_{HASH}&lt;br /&gt;
&lt;br /&gt;
===== ProcessWire =====&lt;br /&gt;
&lt;br /&gt;
wire - Sitzungscookie&lt;br /&gt;
&lt;br /&gt;
* Verbesserung der Sicherheit der Website&lt;br /&gt;
* Verbesserung der Bedienbarkeit der Website&lt;br /&gt;
&lt;br /&gt;
wires - Sitzungscookie&lt;br /&gt;
* wie wire, wird aber bei sicherer Verbindung eingesetzt&lt;br /&gt;
&lt;br /&gt;
wire_challenge - Persistenter Cookie&lt;br /&gt;
* Management des Login für User mit Benutzeraccount und Benutzereinstellungen&lt;br /&gt;
&lt;br /&gt;
WireTabs - Sitzungscookie&lt;br /&gt;
* Speichert Informationen zum aktuellen Bearbeitungsstatus eines angemeldeten Benutzers, während der Bearbeitung der Homepage.&lt;br /&gt;
&lt;br /&gt;
The only other cookie set by this website is called &amp;#039;wire’ and is required by ProcessWire (the underlying CMS) for the system to operate properly. If you wish to delete individual cookies from your computer but are unsure how to do it, have a look at www.allaboutcookies.org.&lt;br /&gt;
&lt;br /&gt;
==== Cookie Infos ====&lt;br /&gt;
https://rickert.net/blog/cookies-aktuelle-rechtslage/&lt;br /&gt;
&lt;br /&gt;
https://policies.google.com/technologies/cookies?hl=de&lt;br /&gt;
&lt;br /&gt;
Todo auf eigener Homepage&lt;br /&gt;
&lt;br /&gt;
===== Piwick =====&lt;br /&gt;
There are two cookies on this website that collect information from visitors to help me improve this website. They enable me to trace errors on this website and inform him about how this website is used. This information is anonymous and cannot be used to identify you personally. These cookies are set by the analytics software ‘Piwik’ and start with ‘_pk_id’ and ‘_pk_ses’. Piwik is self-hosted software. This means that all data collected stays with me. No analytics information is remitted to third parties (this is different from websites using certain other tools such as Google Analytics).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== TYPO3 =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Name: fe_typo_user&lt;br /&gt;
Art: session cookie&lt;br /&gt;
Nutzung: Login Managment für Frontend User, identifiziert den Nutzer, Verbesserung der Seitenbenutzung, Sicherheit&lt;br /&gt;
&lt;br /&gt;
Name: be_typo3_user&lt;br /&gt;
Art: session cookie&lt;br /&gt;
Nutzung: Login Managment für Backend User, identifiziert den Nutzer, Verbesserung der Seitenbenutzung, Sicherheit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
FE User Cookie Kann man per default ausschalten&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;quot;FE&amp;quot;][&amp;quot;dontSetCookie&amp;quot;] = 1;&lt;br /&gt;
&lt;br /&gt;
=== Newsletter ===&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
29. Newsletter&lt;br /&gt;
&lt;br /&gt;
1. Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Auf unserer Internetseite besteht die Möglichkeit einen kostenfreien Newsletter zu abonnieren. Dabei werden bei der Anmeldung zum Newsletter die Daten aus der Eingabemaske an uns übermittelt.&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle sollte eine konkrete Nennung der erhobenen Daten erfolgen. Im Minimalfall betrifft dies die E-Mail-Adresse des Nutzers. &lt;br /&gt;
&lt;br /&gt;
Zudem werden folgende Daten bei der Anmeldung erhoben:&lt;br /&gt;
&lt;br /&gt;
Es müssen die tatsächlich erhobenen weiteren Daten angegeben werden. Dies können beispielsweise sein:&lt;br /&gt;
(1) IP-Adresse des aufrufenden Rechners&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Anmeldevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund des Verkaufs von Waren oder Dienstleistungen:&lt;br /&gt;
&lt;br /&gt;
Wenn Sie auf unserer Internetseite Waren oder Dienstleistungen erwerben und hierbei Ihre E-Mail-Adresse hinterlegen, kann diese in der Folge durch uns für den Versand eines Newsletters verwendet werden. In einem solchen Fall wird über den Newsletter ausschließlich Direktwerbung für eigene ähnliche Waren oder Dienstleistungen versendet.&lt;br /&gt;
&lt;br /&gt;
Es erfolgt im Zusammenhang mit der Datenverarbeitung für den Versand von Newslettern keine Weitergabe der Daten an Dritte. Die Daten werden ausschließlich für den Versand des Newsletters verwendet.&lt;br /&gt;
&lt;br /&gt;
30. Rechtsgrundlage für die Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten nach Anmeldung zum Newsletters durch den Nutzer ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund des Verkaufs von Waren oder Dienstleistungen:&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für den Versand des Newsletters infolge des Verkaufs von Waren oder Dienstleistungen ist § 7 Abs. 3 UWG.&lt;br /&gt;
&lt;br /&gt;
31. Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die Erhebung der E-Mail-Adresse des Nutzers dient dazu, den Newsletter zuzustellen. &lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Die Erhebung sonstiger personenbezogener Daten im Rahmen des Anmeldevorgangs dient dazu, einen Missbrauch der Dienste oder der verwendeten E-Mail-Adresse zu verhindern.&lt;br /&gt;
&lt;br /&gt;
32. Dauer der Speicherung&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Die E-Mail-Adresse des Nutzers wird demnach solange gespeichert, wie das Abonnement des Newsletters aktiv ist. &lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Die sonstigen im Rahmen des Anmeldevorgangs erhobenen personenbezogenen Daten werden in der Regel nach einer Frist von sieben Tagen gelöscht.&lt;br /&gt;
&lt;br /&gt;
33. Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Das Abonnement des Newsletters kann durch den betroffenen Nutzer jederzeit gekündigt werden. Zu diesem Zweck findet sich in jedem Newsletter ein entsprechender Link. &lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Hierdurch wird ebenfalls ein Widerruf der Einwilligung der Speicherung der während des Anmeldevorgangs erhobenen personenbezogenen Daten ermöglicht.&lt;br /&gt;
&lt;br /&gt;
34. Registrierung&lt;br /&gt;
&lt;br /&gt;
1. Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
Auf unserer Internetseite bieten wir Nutzern die Möglichkeit, sich unter Angabe personenbezogener Daten zu registrieren. Die Daten werden dabei in eine Eingabemaske eingegeben und an uns übermittelt und gespeichert. Eine Weitergabe der Daten an Dritte findet nicht statt. Folgende Daten werden im Rahmen des Registrierungsprozesses erhoben:&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle sollten die entsprechenden Daten aufgelistet werden.&lt;br /&gt;
&lt;br /&gt;
Im Zeitpunkt der Registrierung werden zudem folgende Daten gespeichert:&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle sind die Daten entsprechend aufzulisten. Beispiele können sein:&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Im Rahmen des Registrierungsprozesses wird eine Einwilligung des Nutzers zur Verarbeitung dieser Daten eingeholt.&lt;br /&gt;
35. Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Wenn die Registrierung der Erfüllung eines Vertrages, dessen Vertragspartei die betroffene Person ist, oder der Durchführung vorvertraglicher Maßnahmen dient.&lt;br /&gt;
&lt;br /&gt;
Dient die Registrierung der Erfüllung eines Vertrages, dessen Vertragspartei der Nutzer ist oder der Durchführung vorvertraglicher Maßnahmen, so ist zusätzliche Rechtsgrundlage für die Verarbeitung der Daten Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
&lt;br /&gt;
36. Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient nicht zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Eine Registrierung des Nutzers ist für das Bereithalten bestimmter Inhalte und Leistungen auf unserer Website erforderlich.&lt;br /&gt;
&lt;br /&gt;
Es folgt eine nähere Beschreibung der Inhalte und Leistungen. Warum ist im Einzelfall eine Identifikation des Nutzers für die Bereithaltung erforderlich?&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Eine Registrierung des Nutzers ist zur Erfüllung eines Vertrages mit dem Nutzer oder zur Durchführung vorvertraglicher Maßnahmen erforderlich.&lt;br /&gt;
&lt;br /&gt;
Es folgt eine nähere Beschreibung des auf der Internetseite angebotenen Vertrages. Warum sind für diese Verträge die erhobenen Daten erforderlich?&lt;br /&gt;
&lt;br /&gt;
Sollte für die von Ihnen angebotenen Verträge eine Verarbeitung der personenbezogenen Daten des Vertragspartners bei Vertragsschluss gesetzlich vorgeschrieben sein, so sind die jeweiligen Normen, aus denen sich die Verpflichtung ergibt, zu nennen.&lt;br /&gt;
37. Dauer der Speicherung&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind.&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient nicht zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Dies ist für die während des Registrierungsvorgangs erhobenen Daten der Fall, wenn die Registrierung auf unserer Internetseite aufgehoben oder abgeändert wird. &lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Dies ist für die während des Registrierungsvorgangs zur Erfüllung eines Vertrags oder zur Durchführung vorvertraglicher Maßnahmen dann der Fall, wenn die Daten für die Durchführung des Vertrages nicht mehr erforderlich sind. Auch nach Abschluss des Vertrags kann eine Erforderlichkeit, personenbezogene Daten des Vertragspartners zu speichern, bestehen, um vertraglichen oder gesetzlichen Verpflichtungen nachzukommen.&lt;br /&gt;
&lt;br /&gt;
Dauerschuldverhältnisse erfordern die Speicherung der personenbezogenen Daten während der Vertragslaufzeit. Zudem müssen Gewährleistungsfristen beachtet werden und die Speicherung von Daten für steuerliche Zwecke. Welche Speicherfristen hierbei einzuhalten sind, lässt sich nicht pauschal festlegen, sondern muss für die jeweils geschlossenen Verträge und Vertragsparteien im Einzelfall ermittelt werden.&lt;br /&gt;
38. Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
Als Nutzer haben sie jederzeit die Möglichkeit, die Registrierung aufzulösen. Die über Sie gespeicherten Daten können Sie jederzeit abändern lassen. &lt;br /&gt;
&lt;br /&gt;
Es folgt eine nähere Beschreibung, wie eine Löschung des Accounts und eine Änderung von Daten möglich sind.&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Sind die Daten zur Erfüllung eines Vertrages oder zur Durchführung vorvertraglicher Maßnahmen erforderlich, ist eine vorzeitige Löschung der Daten nur möglich, soweit nicht vertragliche oder gesetzliche Verpflichtungen einer Löschung entgegenstehen. &lt;br /&gt;
39. Kontaktformular und E-Mail-Kontakt&lt;br /&gt;
1. Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
Auf unserer Internetseite ist ein Kontaktformular vorhanden, welches für die elektronische Kontaktaufnahme genutzt werden kann. Nimmt ein Nutzer diese Möglichkeit wahr, so werden die in der Eingabemaske eingegeben Daten an uns übermittelt und gespeichert. Diese Daten sind:&lt;br /&gt;
&lt;br /&gt;
Es folgt eine Auflistung der Daten der Eingabemaske&lt;br /&gt;
&lt;br /&gt;
Im Zeitpunkt der Absendung der Nachricht werden zudem folgende Daten gespeichert:&lt;br /&gt;
&lt;br /&gt;
Es folgt eine Auflistung der entsprechenden Daten. Beispiele können sein:&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Absendevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse möglich. In diesem Fall werden die mit der E-Mail übermittelten personenbezogenen Daten des Nutzers gespeichert. &lt;br /&gt;
&lt;br /&gt;
Es erfolgt in diesem Zusammenhang keine Weitergabe der Daten an Dritte. Die Daten werden ausschließlich für die Verarbeitung der Konversation verwendet.&lt;br /&gt;
&lt;br /&gt;
40. Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten, die im Zuge einer Übersendung einer E-Mail übermittelt werden, ist Art. 6 Abs. 1 lit. f DSGVO. Zielt der E-Mail-Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
&lt;br /&gt;
41. Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die Verarbeitung der personenbezogenen Daten aus der Eingabemaske dient uns allein zur Bearbeitung der Kontaktaufnahme. Im Falle einer Kontaktaufnahme per E-Mail liegt hieran auch das erforderliche berechtigte Interesse an der Verarbeitung der Daten.&lt;br /&gt;
Die sonstigen während des Absendevorgangs verarbeiteten personenbezogenen Daten dienen dazu, einen Missbrauch des Kontaktformulars zu verhindern und die Sicherheit unserer informationstechnischen Systeme sicherzustellen.&lt;br /&gt;
42. Dauer der Speicherung&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Für die personenbezogenen Daten aus der Eingabemaske des Kontaktformulars und diejenigen, die per E-Mail übersandt wurden, ist dies dann der Fall, wenn die jeweilige Konversation mit dem Nutzer beendet ist. Beendet ist die Konversation dann, wenn sich aus den Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist. &lt;br /&gt;
&lt;br /&gt;
Die während des Absendevorgangs zusätzlich erhobenen personenbezogenen Daten werden spätestens nach einer Frist von sieben Tagen gelöscht.&lt;br /&gt;
&lt;br /&gt;
43. Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Der Nutzer hat jederzeit die Möglichkeit, seine Einwilligung zur Verarbeitung der personenbezogenen Daten zu widerrufen. Nimmt der Nutzer per E-Mail Kontakt mit uns auf, so kann er der Speicherung seiner personenbezogenen Daten jederzeit widersprechen. In einem solchen Fall kann die Konversation nicht fortgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Es folgt eine Beschreibung, auf welche Weise der Widerruf der Einwilligung und der Widerspruch der Speicherung ermöglicht wird.&lt;br /&gt;
&lt;br /&gt;
Alle personenbezogenen Daten, die im Zuge der Kontaktaufnahme gespeichert wurden, werden in diesem Fall gelöscht.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kontaktformular ===&lt;br /&gt;
Direkt am Formular&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutz&lt;br /&gt;
&lt;br /&gt;
Mit meiner Kontaktaufnahme willige ich ein, dass meine Daten gespeichert und zur Bearbeitung meiner Anfrage/Kontaktaufnahme sowie für die Zusendung von Informationsmaterial genutzt werden. Eine Weiterleitung an Dritte ist ausgeschlossen. Diese Einwilligung kann jederzeit widerrufen werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Checkbox&amp;gt; Ich stimme zu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In der Datenschutzerklärung&lt;br /&gt;
&lt;br /&gt;
Quelle Uni Münster (stark angepasst)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KONTAKTFORMULAR UND E-MAIL KONTAKT&lt;br /&gt;
&lt;br /&gt;
Auf unserer Website können Sie Kontaktformulare zur elektronische Kontaktaufnahme nutzen. Nehmen Sie diese Möglichkeit wahr, so werden die von Ihnen in der Eingabemaske eingegeben Daten an uns übermittelt und gespeichert. &lt;br /&gt;
&lt;br /&gt;
Im Zeitpunkt der Absendung der Nachricht werden zudem folgende Daten gespeichert:&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Absendevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse möglich. In diesem Fall werden die mit der E-Mail übermittelten personenbezogenen Daten des Nutzers gespeichert. &lt;br /&gt;
Die Daten werden ausschließlich für die Verarbeitung der Konversation verwendet. Es erfolgt in diesem Zusammenhang keine Weitergabe der Daten an Dritte. &lt;br /&gt;
Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten, die im Zuge einer Übersendung einer E-Mail übermittelt werden, ist Art. 6 Abs. 1 lit. f DSGVO. Zielt der E-Mail-Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
Die Verarbeitung der personenbezogenen Daten aus der Eingabemaske dient uns allein zur Bearbeitung der Kontaktaufnahme. Im Falle einer Kontaktaufnahme per E-Mail liegt hieran auch das erforderliche berechtigte Interesse an der Verarbeitung der Daten.&lt;br /&gt;
Die sonstigen während des Absendevorgangs verarbeiteten personenbezogenen Daten dienen dazu, einen Missbrauch des Kontaktformulars zu verhindern und die Sicherheit unserer informationstechnischen Systeme sicherzustellen.&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Für die personenbezogenen Daten aus der Eingabemaske des Kontaktformulars und diejenigen, die per E-Mail übersandt wurden, ist dies dann der Fall, wenn die jeweilige Konversation mit dem Nutzer beendet ist. Beendet ist die Konversation dann, wenn sich aus den Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Google Analytics ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutzerklärung für die Nutzung von Google Analytics&lt;br /&gt;
&lt;br /&gt;
Diese Website nutzt Funktionen des  Webanalysedienstes Google Analytics. Anbieter ist die Google Inc. 1600 Amphitheatre Parkway Mountain View, CA 94043, USA. Google Analytics verwendet sog. „Cookies“. Das sind Textdateien, die auf Ihrem Computer gespeichert werden und die eine Analyse der Benutzung der Website durch Sie ermöglichen. Die durch den Cookie erzeugten Informationen über Ihre Benutzung dieser Website werden in der Regel an einen Server von Google in den USA übertragen und dort gespeichert.&lt;br /&gt;
&lt;br /&gt;
Im Falle der Aktivierung der IP-Anonymisierung auf dieser Webseite wird Ihre IP-Adresse von Google jedoch innerhalb von Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten des Abkommens über den Europäischen Wirtschaftsraum zuvor gekürzt. Nur in Ausnahmefällen wird die volle IP-Adresse an einen Server von Google in den USA übertragen und dort gekürzt. Im Auftrag des Betreibers dieser Website wird Google diese Informationen benutzen, um Ihre Nutzung der Website auszuwerten, um Reports über die Websiteaktivitäten zusammenzustellen und um weitere mit der Websitenutzung und der Internetnutzung verbundene Dienstleistungen gegenüber dem Websitebetreiber zu erbringen. Die im Rahmen von Google Analytics von Ihrem Browser übermittelte IP-Adresse wird nicht mit anderen Daten von Google zusammengeführt.&lt;br /&gt;
&lt;br /&gt;
Sie können die Speicherung der Cookies durch eine entsprechende Einstellung Ihrer Browser-Software verhindern; wir weisen Sie jedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche Funktionen dieser Website vollumfänglich werden nutzen können. Sie können darüber hinaus die Erfassung der durch das Cookie erzeugten und auf Ihre Nutzung der Website bezogenen Daten (inkl. Ihrer IP-Adresse) an Google sowie die Verarbeitung dieser Daten durch Google verhindern, indem sie das unter dem folgenden Link verfügbare Browser-Plugin herunterladen und installieren: http://tools.google.com/dlpage/gaoptout?hl=de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Google Maps ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GOOGLE MAPS&lt;br /&gt;
&lt;br /&gt;
Diese Website verwendet die GoogleMaps API. Ein Produkt der Google Inc., zur Anzeige von interaktiven Landkarten. Bei der Nutzung von Google Maps werden von Google auch Daten über die Nutzung der Maps-Funktionen des Besuchers erhoben, verarbeitet und genutzt. Nähere Informationen über die Datenverarbeitung durch Google finden Sie in den Datenschutzhinweisen von Google (http://www.google.com/intl/de_de/help/terms_maps.html). Google stellt dort darüber hinaus Möglichkeiten zur Datenschutzeinstellung zur Verfügung, mit denen Sie Ihre Daten verwalten und schützen können.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenStreetMaps ===&lt;br /&gt;
==== Eigener Text - Processwire manuelle Einbindung ====&lt;br /&gt;
OpenStreetMaps&lt;br /&gt;
&lt;br /&gt;
Diese Website nutzt freie Kartendaten der OpenStreetMap Foundation, St John’s Innovation Centre, Cowley Road, Cambridge, CB4 0WS, United Kingdom (kurz OSMF).&lt;br /&gt;
Zum Abrufen der OSMF Kartenbilder überträgt der Browser Ihre IP Adresse an einen Server der OSMF. Der Standort des ausgewählten OSMF Servers hängt von der Verfügbarkeit und Ihrem eigenen Standort ab. Der Betreiber dieser Website hat keine Kontrolle über diese Verbindungen und die Verarbeitung Ihrer Daten durch die OSMF. Die Nutzung von OSMF erfolgt im Interesse einer ansprechenden Darstellung und besserer Funktionalität sowie einer leichteren Auffindbarkeit der dargestellten Orte. Dies stellt ein berechtigtes Interesse im Sinne von Art. 6 Abs. 1 lit. f DSGVO dar. Die OSMF verarbeitet Ihre Daten nach eigener Auskunft im Sinne der DSGVO. Mehr Informationen zum Umgang mit Nutzerdaten finden Sie in der Datenschutzerklärung der OSMF: https://wiki.osmfoundation.org/wiki/Privacy_Policy&lt;br /&gt;
&lt;br /&gt;
==== Beispiele ====&lt;br /&gt;
https://www.studierendenwerk-kaiserslautern.de/kaiserslautern/info/datenschutzerklaerung/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OpenStreetMap&lt;br /&gt;
&lt;br /&gt;
Diese Seite nutzt über eine API das Open-Source-Mapping-Werkzeug „OpenStreetMap“ (OSM). Anbieter ist die OpenStreetMap Foundation. Zur Nutzung der Funktionen von OpenStreetMap ist es notwendig, Ihre IP Adresse zu speichern. Diese Informationen werden in der Regel an einen Server von OpenStreetMap übertragen und dort gespeichert. Der Anbieter dieser Seite hat keinen Einfluss auf diese Datenübertragung. Die Nutzung von OpenStreetMap erfolgt im Interesse einer ansprechenden Darstellung unserer Online-Angebote und an einer leichten Auffindbarkeit der von uns auf der Website angegebenen Orte. Dies stellt ein berechtigtes Interesse im Sinne von Art. 6 Abs. 1 lit. f DSGVO dar. Mehr Informationen zum Umgang mit Nutzerdaten finden Sie in der Datenschutzseite von OpenStreetMap und hier http://wiki.openstreetmap.org/wiki/Legal_FAQ.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ADFC&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OpenStreetMap&lt;br /&gt;
&lt;br /&gt;
Zur Darstellung von Geo-Daten verwenden wir das Open-Source-Mapping-Werkzeug „OpenStreetMap“ (OSM). OpenStreetMap ist ein Service der Openstreetmap Foundation, 132 Maney Hill Road, Sutton Coldfield, West Midlands, B72 1JU, United Kingdom. Damit Ihnen die Karte angezeigt werden kann, wird Ihre IP-Adresse an OpenStreetMap weitergeleitet. Wie OpenStreetMap Ihre Daten speichert, können Sie auf der Datenschutzseite von OpenStreetMap und hier http://wiki.openstreetmap.org/wiki/Legal_FAQ erfahren.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OpenStreetMap&lt;br /&gt;
&lt;br /&gt;
Wir binden die Landkarten des Dienstes &amp;quot;OpenStreetMap&amp;quot; ein (https://www.openstreetmap.org), die auf Grundlage der Open Data Commons Open Database Lizenz (ODbL) durch die OpenStreetMap Foundation (OSMF) angeboten werden. Datenschutzerklärung: https://wiki.openstreetmap.org/wiki/Privacy_Policy).&lt;br /&gt;
&lt;br /&gt;
Nach unserer Kenntnis werden die Daten der Nutzer durch OpenStreetMap ausschließlich zu Zwecken der Darstellung der Kartenfunktionen und Zwischenspeicherung der gewählten Einstellungen verwendet. Zu diesen Daten können insbesondere IP-Adressen und Standortdaten der Nutzer gehören, die jedoch nicht ohne deren Einwilligung (im Regelfall im Rahmen der Einstellungen ihrer Mobilgeräte vollzogen), erhoben werden. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fonts ===&lt;br /&gt;
==== Links ====&lt;br /&gt;
https://www.mittwald.de/blog/mittwald/howtos/dem-datenschutz-zuliebe-wie-ihr-google-fonts-lokal-in-eure-webseiten-einbindet&lt;br /&gt;
&lt;br /&gt;
==== Beispiel 1 - Allgemein ====&lt;br /&gt;
&lt;br /&gt;
Verwendung von Scriptbibliotheken (Google Webfonts)&lt;br /&gt;
&lt;br /&gt;
Um unsere Inhalte browserübergreifend korrekt und graﬁsch ansprechend darzustellen, verwenden wir auf dieser Website Scriptbibliotheken und Schriftbibliotheken wie z. B. Google Webfonts (https://www.google.com/webfonts). Google Webfonts werden zur Vermeidung mehrfachen Ladens in den Cache Ihres Browsers übertragen. Falls der Browser die Google Webfonts nicht unterstützt oder den Zugriﬀ unterbindet, werden Inhalte in einer Standardschrift angezeigt.&lt;br /&gt;
Der Aufruf von Scriptbibliotheken oder Schriftbibliotheken löst automatisch eine Verbindung zum Betreiber der Bibliothek aus. Dabei ist es theoretisch möglich – aktuell allerdings auch unklar ob und ggf. zu welchen Zwecken – dass Betreiber entsprechender Bibliotheken Daten erheben.&lt;br /&gt;
&lt;br /&gt;
Die Datenschutzrichtlinie des Bibliothekbetreibers Google ﬁnden Sie hier:&lt;br /&gt;
https://policies.google.com/privacy?hl=de&lt;br /&gt;
&lt;br /&gt;
==== Beispiel 2 ====&lt;br /&gt;
Google Fonts&lt;br /&gt;
&lt;br /&gt;
Zur Darstellung der Schrift auf dieser Website setzten wir externe Schriftarten von Google Fonts ein.&lt;br /&gt;
Dieser Dienst wird von der Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043 USA, nachfolgend „Google“ angeboten.&lt;br /&gt;
Google ist nach dem „EU-US Privacy Shield“ zertifiziert und garantiert dadurch die Einhaltung der Datenschutzvorgaben der EU bei der Verarbeitung der Daten in den USA.&lt;br /&gt;
 &lt;br /&gt;
https://www.privacyshield.gov/participant?id=a2zt000000001L5AAI&amp;amp;status=Active&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf dieser Website wird eine Verbindung zu  Google-Server in den USA aufgebaut, um die Schrift zu laden oder diese zu aktualisieren.&lt;br /&gt;
&lt;br /&gt;
Durch diese Verbindung kann Google erkennen, von welcher Website eine Anfrage gestellt wird und an welche IP-Adresse die Schrift übermittelt wird.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO. Das berechtigte Interesse des Anbieters besteht an der Optimierung und dem wirtschaftlichen Betrieb der Website.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen, insbesondere zu den Möglichkeiten der Unterbindung der Datennutzung, bietet Google unter den nachfolgenden Links an:&lt;br /&gt;
&lt;br /&gt;
https://policies.google.com/privacy&lt;br /&gt;
https://adssettings.google.com/authenticated.&lt;br /&gt;
&lt;br /&gt;
=== Ärzte ===&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    Impressum&lt;br /&gt;
    Datenschutz&lt;br /&gt;
&lt;br /&gt;
PATIENTENINFORMATION ZUM DATENSCHUTZ&lt;br /&gt;
&lt;br /&gt;
Sehr geehrte Patientin, sehr geehrter Patient,&lt;br /&gt;
der Schutz Ihrer personenbezogenen Daten ist uns wichtig. Nach der EU-Datenschutz-Grundverordnung (DSGVO) sind wir verpflichtet, Sie darüber zu informieren, zu welchem Zweck unsere Praxis Daten erhebt, speichert oder weiterleitet. Der Information können Sie auch entnehmen, welche Rechte Sie in puncto Datenschutz haben.&lt;br /&gt;
1. VERANTWORTLICHKEIT FÜR DIE DATENVERARBEITUNG&lt;br /&gt;
&lt;br /&gt;
Verantwortlich für die Datenverarbeitung ist:&lt;br /&gt;
Praxisname&lt;br /&gt;
Verhaltenstherapeutische Praxis Dr. rer. nat. Dipl. Psych. Anja Schwarz&lt;br /&gt;
Adresse&lt;br /&gt;
Böllatstraße 4, 72622 Neckarhausen / Nürtingen&lt;br /&gt;
Kontaktdaten&lt;br /&gt;
Tel: 07022 244352&lt;br /&gt;
Tax: 07022 244351&lt;br /&gt;
E-Mail: schwarz@schwarz-psychotherapie.de&lt;br /&gt;
Homepage: http//www.schwarz-psychotherapie.de&lt;br /&gt;
&lt;br /&gt;
2. ZWECK DER DATENVERARBEITUNG&lt;br /&gt;
&lt;br /&gt;
Die Datenverarbeitung erfolgt aufgrund gesetzlicher Vorgaben, um den Behandlungsvertrag zwischen Ihnen und Ihrem behandelnden Psychotgherapeuten und die damit verbundenen Pflichten zu erfüllen.&lt;br /&gt;
Hierzu verarbeiten wir Ihre personenbezogenen Daten, insbesondere Ihre Gesundheitsdaten. Dazu zählen Anamnesen, Diagnosen, Therapievorschläge und Befunde, die wir oder andere Ärzte erheben. Zu diesen Zwecken können uns auch andere Ärzte oder Psychotherapeuten, bei denen Sie in Behandlung sind, Daten zur Verfügung stellen (z.B. in Arztbriefen).&lt;br /&gt;
Die Erhebung von Gesundheitsdaten ist Voraussetzung für Ihre Behandlung. Werden die notwendigen Informationen nicht bereitgestellt, kann eine sorgfältige Behandlung nicht erfolgen.&lt;br /&gt;
&lt;br /&gt;
3. EMPFÄNGER IHRER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir übermitteln Ihre personenbezogenen Daten nur dann an Dritte, wenn dies gesetzlich erlaubt ist oder Sie eingewilligt haben.&lt;br /&gt;
Empfänger Ihrer personenbezogenen Daten können vor allem andere Ärzte / Psychotherapeuten, Kassenärztliche Vereinigungen, Krankenkassen, der Medizinische Dienst der Krankenversicherung, Ärztekammern und privatärztliche Verrechnungsstellen sein.&lt;br /&gt;
Die Übermittlung erfolgt überwiegend zum Zwecke der Abrechnung der bei Ihnen erbrachten Leistungen, zur Klärung von medizinischen und sich aus Ihrem Versicherungsverhältnis ergebenden Fragen. Im Einzelfall erfolgt die Übermittlung von Daten an weitere berechtigte Empfänger.&lt;br /&gt;
&lt;br /&gt;
4. SPEICHERUNG IHRER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir bewahren Ihre personenbezogenen Daten nur solange auf, wie dies für die Durchführung der Behandlung erforderlich ist.&lt;br /&gt;
Aufgrund rechtlicher Vorgaben sind wir dazu verpflichtet, diese Daten mindestens 10 Jahre nach Abschluss der Behandlung aufzubewahren. Nach anderen Vorschriften können sich längere Aufbewahrungsfristen ergeben, zum Beispiel 30 Jahre bei Röntgenaufzeichnungen laut Paragraf 28 Absatz 3 der Röntgenverordnung.&lt;br /&gt;
&lt;br /&gt;
== Rechte ==&lt;br /&gt;
Rechte der User&lt;br /&gt;
Quelle Datenschutz.org&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AUSKUNFT, BERICHTIGUNG UND LÖSCHUNG&lt;br /&gt;
&lt;br /&gt;
Sie als Nutzer erhalten auf Antrag Ihrerseits kostenlose Auskunft darüber, welche personenbezogenen Daten über Sie gespeichert wurden. Sofern Ihr Wunsch nicht mit einer gesetzlichen Pflicht zur Aufbewahrung von Daten (z. B. Vorratsdatenspeicherung) kollidiert, haben Sie ein Anrecht auf Berichtigung falscher Daten und auf die Sperrung oder Löschung Ihrer personenbezogenen Daten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
Die folgende Auflistung umfasst alle Rechte der Betroffenen nach der DS-GVO. Rechte, die für die eigene Webseite keine Relevanz haben, müssen nicht genannt werden. Insoweit kann die Auflistung gekürzt werden.&lt;br /&gt;
Werden personenbezogene Daten von Ihnen verarbeitet, sind Sie Betroffener i.S.d. DS-GVO und es stehen Ihnen folgende Rechte gegenüber dem Verantwortlichen zu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AUSKUNFTSRECHT&lt;br /&gt;
&lt;br /&gt;
Sie können von dem Verantwortlichen eine Bestätigung darüber verlangen, ob personenbezogene Daten, die Sie betreffen, von uns verarbeitet werden. &lt;br /&gt;
Liegt eine solche Verarbeitung vor, können Sie von dem Verantwortlichen über folgende Informationen Auskunft verlangen:&lt;br /&gt;
(1) die Zwecke, zu denen die personenbezogenen Daten verarbeitet werden;&lt;br /&gt;
(2) die Kategorien von personenbezogenen Daten, welche verarbeitet werden;&lt;br /&gt;
(3) die Empfänger bzw. die Kategorien von Empfängern, gegenüber denen die Sie betreffenden personenbezogenen Daten offengelegt wurden oder noch offengelegt werden;&lt;br /&gt;
(4) die geplante Dauer der Speicherung der Sie betreffenden personenbezogenen Daten oder, falls konkrete Angaben hierzu nicht möglich sind, Kriterien für die Festlegung der Speicherdauer;&lt;br /&gt;
(5) das Bestehen eines Rechts auf Berichtigung oder Löschung der Sie betreffenden personenbezogenen Daten, eines Rechts auf Einschränkung der Verarbeitung durch den Verantwortlichen oder eines Widerspruchsrechts gegen diese Verarbeitung; &lt;br /&gt;
(6) das Bestehen eines Beschwerderechts bei einer Aufsichtsbehörde;&lt;br /&gt;
(7) alle verfügbaren Informationen über die Herkunft der Daten, wenn die personenbezogenen Daten nicht bei der betroffenen Person erhoben werden;&lt;br /&gt;
(8) das Bestehen einer automatisierten Entscheidungsfindung einschließlich Profiling gemäß Art. 22 Abs. 1 und 4 DSGVO und – zumindest in diesen Fällen – aussagekräftige Informationen über die involvierte Logik sowie die Tragweite und die angestrebten Auswirkungen einer derartigen Verarbeitung für die betroffene Person.&lt;br /&gt;
&lt;br /&gt;
Ihnen steht das Recht zu, Auskunft darüber zu verlangen, ob die Sie betreffenden personenbezogenen Daten in ein Drittland oder an eine internationale Organisation übermittelt werden. In diesem Zusammenhang können Sie verlangen, über die geeigneten Garantien gem. Art. 46 DSGVO im Zusammenhang mit der Übermittlung unterrichtet zu werden.&lt;br /&gt;
&lt;br /&gt;
Bei einer Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
Dieses Auskunftsrecht kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
RECHT AUF BERICHTIGUNG&lt;br /&gt;
&lt;br /&gt;
Sie haben ein Recht auf Berichtigung und/oder Vervollständigung gegenüber dem Verantwortlichen, sofern die verarbeiteten personenbezogenen Daten, die Sie betreffen, unrichtig oder unvollständig sind. Der Verantwortliche hat die Berichtigung unverzüglich vorzunehmen.&lt;br /&gt;
Bei Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
Ihr Recht auf Berichtigung kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RECHT AUF EINSCHRÄNKUNG DER VERARBEITUNG&lt;br /&gt;
&lt;br /&gt;
Unter den folgenden Voraussetzungen können Sie die Einschränkung der Verarbeitung der Sie betreffenden personenbezogenen Daten verlangen.&lt;br /&gt;
&lt;br /&gt;
(1) wenn Sie die Richtigkeit der Sie betreffenden personenbezogenen für eine Dauer bestreiten, die es dem Verantwortlichen ermöglicht, die Richtigkeit der personenbezogenen Daten zu überprüfen;&lt;br /&gt;
&lt;br /&gt;
(2) die Verarbeitung unrechtmäßig ist und Sie die Löschung der personenbezogenen Daten ablehnen und stattdessen die Einschränkung der Nutzung der personenbezogenen Daten verlangen;&lt;br /&gt;
&lt;br /&gt;
(3) der Verantwortliche die personenbezogenen Daten für die Zwecke der Verarbeitung nicht länger benötigt, Sie diese jedoch zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen benötigen, oder&lt;br /&gt;
&lt;br /&gt;
(4) wenn Sie Widerspruch gegen die Verarbeitung gemäß Art. 21 Abs. 1 DSGVO eingelegt haben und noch nicht feststeht, ob die berechtigten Gründe des Verantwortlichen gegenüber Ihren Gründen überwiegen.&lt;br /&gt;
&lt;br /&gt;
Wurde die Verarbeitung der Sie betreffenden personenbezogenen Daten eingeschränkt, dürfen diese Daten – von ihrer Speicherung abgesehen – nur mit Ihrer Einwilligung oder zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen oder zum Schutz der Rechte einer anderen natürlichen oder juristischen Person oder aus Gründen eines wichtigen öffentlichen Interesses der Union oder eines Mitgliedstaats verarbeitet werden.&lt;br /&gt;
Wurde die Einschränkung der Verarbeitung nach den o.g. Voraussetzungen eingeschränkt, werden Sie von dem Verantwortlichen unterrichtet bevor die Einschränkung aufgehoben wird.&lt;br /&gt;
&lt;br /&gt;
Bei Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
&lt;br /&gt;
Ihr Recht auf Einschränkung der Verarbeitung kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
RECHT AUF LÖSCHUNG&lt;br /&gt;
&lt;br /&gt;
a) Löschungspflicht&lt;br /&gt;
Sie können von dem Verantwortlichen verlangen, dass die Sie betreffenden personenbezogenen Daten unverzüglich gelöscht werden, und der Verantwortliche ist verpflichtet, diese Daten unverzüglich zu löschen, sofern einer der folgenden Gründe zutrifft:&lt;br /&gt;
&lt;br /&gt;
(1) Die Sie betreffenden personenbezogenen Daten sind für die Zwecke, für die sie erhoben oder auf sonstige Weise verarbeitet wurden, nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
(2) Sie widerrufen Ihre Einwilligung, auf die sich die Verarbeitung gem. Art. 6 Abs. 1 lit. a oder Art. 9 Abs. 2 lit. a DSGVO stützte, und es fehlt an einer anderweitigen Rechtsgrundlage für die Verarbeitung. &lt;br /&gt;
&lt;br /&gt;
(3) Sie legen gem. Art. 21 Abs. 1 DSGVO Widerspruch gegen die Verarbeitung ein und es liegen keine vorrangigen berechtigten Gründe für die Verarbeitung vor, oder Sie legen gem. Art. 21 Abs. 2 DSGVO Widerspruch gegen die Verarbeitung ein. &lt;br /&gt;
&lt;br /&gt;
(4) Die Sie betreffenden personenbezogenen Daten wurden unrechtmäßig verarbeitet. &lt;br /&gt;
&lt;br /&gt;
(5) Die Löschung der Sie betreffenden personenbezogenen Daten ist zur Erfüllung einer rechtlichen Verpflichtung nach dem Unionsrecht oder dem Recht der Mitgliedstaaten erforderlich, dem der Verantwortliche unterliegt. &lt;br /&gt;
&lt;br /&gt;
(6) Die Sie betreffenden personenbezogenen Daten wurden in Bezug auf angebotene Dienste der Informationsgesellschaft gemäß Art. 8 Abs. 1 DSGVO erhoben.&lt;br /&gt;
&lt;br /&gt;
INFORMATION AN DRITTE&lt;br /&gt;
&lt;br /&gt;
Hat der Verantwortliche die Sie betreffenden personenbezogenen Daten öffentlich gemacht und ist er gem. Art. 17 Abs. 1 DSGVO zu deren Löschung verpflichtet, so trifft er unter Berücksichtigung der verfügbaren Technologie und der Implementierungskosten angemessene Maßnahmen, auch technischer Art, um für die Datenverarbeitung Verantwortliche, die die personenbezogenen Daten verarbeiten, darüber zu informieren, dass Sie als betroffene Person von ihnen die Löschung aller Links zu diesen personenbezogenen Daten oder von Kopien oder Replikationen dieser personenbezogenen Daten verlangt haben. &lt;br /&gt;
&lt;br /&gt;
AUSNAHMEN&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Löschung besteht nicht, soweit die Verarbeitung erforderlich ist&lt;br /&gt;
&lt;br /&gt;
(1) zur Ausübung des Rechts auf freie Meinungsäußerung und Information;&lt;br /&gt;
&lt;br /&gt;
(2) zur Erfüllung einer rechtlichen Verpflichtung, die die Verarbeitung nach dem Recht der Union oder der Mitgliedstaaten, dem der Verantwortliche unterliegt, erfordert, oder zur Wahrnehmung einer Aufgabe, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, die dem Verantwortlichen übertragen wurde;&lt;br /&gt;
&lt;br /&gt;
(3) aus Gründen des öffentlichen Interesses im Bereich der öffentlichen Gesundheit gemäß Art. 9 Abs. 2 lit. h und i sowie Art. 9 Abs. 3 DSGVO;&lt;br /&gt;
&lt;br /&gt;
(4) für im öffentlichen Interesse liegende Archivzwecke, wissenschaftliche oder historische Forschungszwecke oder für statistische Zwecke gem. Art. 89 Abs. 1 DSGVO, soweit das unter Abschnitt a) genannte Recht voraussichtlich die Verwirklichung der Ziele dieser Verarbeitung unmöglich macht oder ernsthaft beeinträchtigt, oder&lt;br /&gt;
&lt;br /&gt;
(5) zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&lt;br /&gt;
&lt;br /&gt;
Recht auf Unterrichtung&lt;br /&gt;
&lt;br /&gt;
Haben Sie das Recht auf Berichtigung, Löschung oder Einschränkung der Verarbeitung gegenüber dem Verantwortlichen geltend gemacht, ist dieser verpflichtet, allen Empfängern, denen die Sie betreffenden personenbezogenen Daten offengelegt wurden, diese Berichtigung oder Löschung der Daten oder Einschränkung der Verarbeitung mitzuteilen, es sei denn, dies erweist sich als unmöglich oder ist mit einem unverhältnismäßigen Aufwand verbunden.&lt;br /&gt;
Ihnen steht gegenüber dem Verantwortlichen das Recht zu, über diese Empfänger unterrichtet zu werden.&lt;br /&gt;
&lt;br /&gt;
Recht auf Datenübertragbarkeit&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, die Sie betreffenden personenbezogenen Daten, die Sie dem Verantwortlichen bereitgestellt haben, in einem strukturierten, gängigen und maschinenlesbaren Format zu erhalten. Außerdem haben Sie das Recht diese Daten einem anderen Verantwortlichen ohne Behinderung durch den Verantwortlichen, dem die personenbezogenen Daten bereitgestellt wurden, zu übermitteln, sofern&lt;br /&gt;
&lt;br /&gt;
(1) die Verarbeitung auf einer Einwilligung gem. Art. 6 Abs. 1 lit. a DSGVO oder Art. 9 Abs. 2 lit. a DSGVO oder auf einem Vertrag gem. Art. 6 Abs. 1 lit. b DSGVO beruht und&lt;br /&gt;
&lt;br /&gt;
(2) die Verarbeitung mithilfe automatisierter Verfahren erfolgt.&lt;br /&gt;
&lt;br /&gt;
In Ausübung dieses Rechts haben Sie ferner das Recht, zu erwirken, dass die Sie betreffenden personenbezogenen Daten direkt von einem Verantwortlichen einem anderen Verantwortlichen übermittelt werden, soweit dies technisch machbar ist. Freiheiten und Rechte anderer Personen dürfen hierdurch nicht beeinträchtigt werden.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Datenübertragbarkeit gilt nicht für eine Verarbeitung personenbezogener Daten, die für die Wahrnehmung einer Aufgabe erforderlich ist, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, die dem Verantwortlichen übertragen wurde.&lt;br /&gt;
&lt;br /&gt;
WIDERSPRUCHSRECHT&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, jederzeit gegen die Verarbeitung der Sie betreffenden personenbezogenen Daten, die aufgrund von Art. 6 Abs. 1 lit. e oder f DSGVO erfolgt, Widerspruch einzulegen; dies gilt auch für ein auf diese Bestimmungen gestütztes Profiling. &lt;br /&gt;
Der Verantwortliche verarbeitet die Sie betreffenden personenbezogenen Daten nicht mehr, es sei denn, er kann zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die Ihre Interessen, Rechte und Freiheiten überwiegen, oder die Verarbeitung dient der Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&lt;br /&gt;
&lt;br /&gt;
Werden die Sie betreffenden personenbezogenen Daten verarbeitet, um Direktwerbung zu betreiben, haben Sie das Recht, jederzeit Widerspruch gegen die Verarbeitung der Sie betreffenden personenbezogenen Daten zum Zwecke derartiger Werbung einzulegen; dies gilt auch für das Profiling, soweit es mit solcher Direktwerbung in Verbindung steht.&lt;br /&gt;
Widersprechen Sie der Verarbeitung für Zwecke der Direktwerbung, so werden die Sie betreffenden personenbezogenen Daten nicht mehr für diese Zwecke verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Sie haben die Möglichkeit, im Zusammenhang mit der Nutzung von Diensten der Informationsgesellschaft – ungeachtet der Richtlinie 2002/58/EG – Ihr Widerspruchsrecht mittels automatisierter Verfahren auszuüben, bei denen technische Spezifikationen verwendet werden.&lt;br /&gt;
Bei Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
Sie haben auch das Recht, aus Gründen, die sich aus Ihrer besonderen Situation ergeben, bei der Verarbeitung Sie betreffender personenbezogener Daten, die zu wissenschaftlichen oder historischen Forschungszwecken oder zu statistischen Zwecken gem. Art. 89 Abs. 1 DSGVO erfolgt, dieser zu widersprechen.&lt;br /&gt;
Ihr Widerspruchsrecht kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
RECHT AUF WIDERRUF DER DATENSCHUTZRECHTLICHEN EINWILLIGUNGSERKLÄRUNG&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, Ihre datenschutzrechtliche Einwilligungserklärung jederzeit zu widerrufen. Durch den Widerruf der Einwilligung wird die Rechtmäßigkeit der aufgrund der Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt.&lt;br /&gt;
&lt;br /&gt;
Automatisierte Entscheidung im Einzelfall einschließlich Profiling&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, nicht einer ausschließlich auf einer automatisierten Verarbeitung – einschließlich Profiling – beruhenden Entscheidung unterworfen zu werden, die Ihnen gegenüber rechtliche Wirkung entfaltet oder Sie in ähnlicher Weise erheblich beeinträchtigt. Dies gilt nicht, wenn die Entscheidung &lt;br /&gt;
&lt;br /&gt;
(1)	für den Abschluss oder die Erfüllung eines Vertrags zwischen Ihnen und dem Verantwortlichen erforderlich ist,&lt;br /&gt;
&lt;br /&gt;
(2)	aufgrund von Rechtsvorschriften der Union oder der Mitgliedstaaten, denen der Verantwortliche unterliegt, zulässig ist und diese Rechtsvorschriften angemessene Maßnahmen zur Wahrung Ihrer Rechte und Freiheiten sowie Ihrer berechtigten Interessen enthalten oder&lt;br /&gt;
&lt;br /&gt;
(3)	mit Ihrer ausdrücklichen Einwilligung erfolgt.&lt;br /&gt;
&lt;br /&gt;
Allerdings dürfen diese Entscheidungen nicht auf besonderen Kategorien personenbezogener Daten nach Art. 9 Abs. 1 DSGVO beruhen, sofern nicht Art. 9 Abs. 2 lit. a oder g DSGVO gilt und angemessene Maßnahmen zum Schutz der Rechte und Freiheiten sowie Ihrer berechtigten Interessen getroffen wurden.&lt;br /&gt;
Hinsichtlich der in (1) und (3) genannten Fälle trifft der Verantwortliche angemessene Maßnahmen, um die Rechte und Freiheiten sowie Ihre berechtigten Interessen zu wahren, wozu mindestens das Recht auf Erwirkung des Eingreifens einer Person seitens des Verantwortlichen, auf Darlegung des eigenen Standpunkts und auf Anfechtung der Entscheidung gehört.&lt;br /&gt;
&lt;br /&gt;
Recht auf Beschwerde bei einer Aufsichtsbehörde&lt;br /&gt;
&lt;br /&gt;
Unbeschadet eines anderweitigen verwaltungsrechtlichen oder gerichtlichen Rechtsbehelfs steht Ihnen das Recht auf Beschwerde bei einer Aufsichtsbehörde, insbesondere in dem Mitgliedstaat ihres Aufenthaltsorts, ihres Arbeitsplatzes oder des Orts des mutmaßlichen Verstoßes, zu, wenn Sie der Ansicht sind, dass die Verarbeitung der Sie betreffenden personenbezogenen Daten gegen die DSGVO verstößt. &lt;br /&gt;
Die Aufsichtsbehörde, bei der die Beschwerde eingereicht wurde, unterrichtet den Beschwerdeführer über den Stand und die Ergebnisse der Beschwerde einschließlich der Möglichkeit eines gerichtlichen Rechtsbehelfs nach Art. 78 DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kriterien zum Ergänzen der Datenschutzerklärung ==&lt;br /&gt;
Umfang, Rechtsgrundlage, Zweck, Dauer, Widerspruchsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
== Komplette Beispiele ==&lt;br /&gt;
Im Zweifel müssen die Beispiele anhand der üblichen Kriterien ergänzt werden (siehe oben)&lt;br /&gt;
=== Beispiel MVZ-Bad Reichenhall ===&lt;br /&gt;
&lt;br /&gt;
Datenschutz&lt;br /&gt;
&lt;br /&gt;
Wir freuen uns über Ihren Besuch auf unserer Webseite sowie über Ihr Interesse an unserem Unternehmen. Wir verstehen Datenschutz als kundenorientiertes Qualitätsmerkmal. Der Schutz Ihrer persönlichen Daten und die Wahrung Ihres Persönlichkeitsrechts sind uns wichtig.&lt;br /&gt;
&lt;br /&gt;
Mit dieser Datenschutzerklärung möchten wir alle Besucher unserer Webseite transparent über Art, Umfang und Zweck der von uns erhobenen, genutzten und verarbeiteten personenbezogenen Daten informieren und Sie über die Ihnen zustehenden Rechte aufklären.&lt;br /&gt;
&lt;br /&gt;
Eine Nutzung unserer Webseite ist grundsätzlich ohne die Angabe von personenbezogener Daten möglich. Sollten Sie jedoch über unsere Webseite Dienste unseres Unternehmens in Anspruch nehmen, kann die Verarbeitung Ihrer personenbezogenen Daten erforderlich werden.&lt;br /&gt;
&lt;br /&gt;
Die beim Besuch unserer Webseiten automatisch erhobenen Daten oder aber bei der Inanspruchnahme von Diensten von Ihnen eingetragenen personenbezogenen Daten, werden gemäß den jeweils aktuellen gesetzlichen Bestimmungen zum Schutz personenbezogener Daten verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Ist eine Verarbeitung Ihrer personenbezogenen Daten erforderlich und besteht für eine solche Verarbeitung keine gesetzliche Grundlage, holen wir grundsätzlich eine Einwilligung für den erforderlichen Zweck der Verarbeitung ein.&lt;br /&gt;
&lt;br /&gt;
Als für die Verarbeitung verantwortliches Unternehmen, haben wir technische und organisatorische Maßnahmen festgelegt, um ein möglichst hohes Schutzniveau Ihrer personenbezogenen Daten sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
Wir weisen jedoch darauf hin, dass eine Datenübertragung über das World Wide Web grundsätzlich Sicherheitslücken aufweisen kann.&lt;br /&gt;
&lt;br /&gt;
Möchten Sie Dienste unseres Unternehmens in Anspruch nehmen und hierfür nicht den Weg der Datenübermittlung über das World Wide Web nutzen wollen, beseht auch die Möglichkeit der telefonischen Kontaktaufnahme.&lt;br /&gt;
&lt;br /&gt;
Kontaktdaten des für die Verarbeitung Verantwortlichen&lt;br /&gt;
&lt;br /&gt;
Verantwortlicher im Sinne der Datenschutz-Grundverordnung, ist:&lt;br /&gt;
&lt;br /&gt;
MVZ Bad Reichenhall&lt;br /&gt;
Salus Gesundheitszentrum GmbH u. Co KG&lt;br /&gt;
Rinckstr. 7-9&lt;br /&gt;
83435 Bad Reichenhall&lt;br /&gt;
info(@)salus-klinik.de&lt;br /&gt;
&lt;br /&gt;
Als Datenschutzbeauftragter ist bestellt:&lt;br /&gt;
&lt;br /&gt;
Herr Stephan Hartinger&lt;br /&gt;
Coseco GmbH&lt;br /&gt;
Telefon: 08232 80988-70&lt;br /&gt;
E-Mail: datenschutz@salus-klinik.de&lt;br /&gt;
&lt;br /&gt;
Erhebung von allgemeinen Zugriffsinformationen&lt;br /&gt;
&lt;br /&gt;
Bei jedem Aufruf unserer Webseite werden automatisch Server Log File Informationen, die Ihr Browser an uns übermittelt, erfasst. Dies sind:&lt;br /&gt;
&lt;br /&gt;
    IP-Adresse (Internet-Protokoll-Adresse) des zugreifenden Computers&lt;br /&gt;
    die Webseite, von der aus Sie uns besuchen (Referrer)&lt;br /&gt;
    die Webseite, die Sie bei uns besuchen&lt;br /&gt;
    das Datum und die Dauer des Besuches&lt;br /&gt;
    Browsertyp und Browser-Einstellungen&lt;br /&gt;
    Betriebssystem&lt;br /&gt;
&lt;br /&gt;
Wir weisen darauf hin, dass diese Daten nicht einer bestimmten Person zugeordnet werden können. Wir verwenden diese technischen Zugriffsinformationen ausschließlich für folgende Zwecke:&lt;br /&gt;
&lt;br /&gt;
    Um die Attraktivität und Bedienbarkeit unserer Webseiten zu verbessern,&lt;br /&gt;
    Um technische Probleme auf unserer Webseite frühzeitig zu erkennen.&lt;br /&gt;
    die Inhalte unserer Internetseite korrekt auszuliefern,&lt;br /&gt;
    und um Strafverfolgungsbehörden im Falle eines Cyberangriffes die zur Strafverfolgung notwendigen Informationen bereitzustellen.&lt;br /&gt;
&lt;br /&gt;
Diese Daten werden für als technische Vorkehrung maximal 7 Tage zum Schutz der Datenverarbeitungssysteme gegen unerlaubte Zugriffe gespeichert.&lt;br /&gt;
&lt;br /&gt;
Erhebung und Weitergabe von personenbezogenen Daten&lt;br /&gt;
&lt;br /&gt;
Wir verwenden Ihre persönlichen Daten nur zu den auf dieser Informationsseite zum Datenschutz angeführten Zwecken.&lt;br /&gt;
Auf unserer Webseite existieren folgende Eingabemasken für die Erhebung von personenbezogenen Daten:&lt;br /&gt;
&lt;br /&gt;
Formulare auf unserer Webseite&lt;br /&gt;
&lt;br /&gt;
Kontaktaufnahme per Mail oder Kontaktformular&lt;br /&gt;
Wir bieten Ihnen auf unserer Seite die Möglichkeit, mit uns per E-Mail und/oder über ein Kontaktformular in Verbindung zu treten.&lt;br /&gt;
Sofern Sie per E-Mail oder über ein Kontaktformular mit uns in Kontakt treten, werden die von Ihnen übermittelten personenbezogenen Daten automatisch gespeichert.&lt;br /&gt;
Solche, auf freiwilliger Basis von Ihnen an uns übermittelten personenbezogenen Daten, werden für Zwecke der Bearbeitung Ihrer Anfrage oder der Kontaktaufnahme zur betroffenen Person gespeichert. Es erfolgt keine Weitergabe dieser personenbezogenen Daten an Dritte.&lt;br /&gt;
&lt;br /&gt;
Wofür werden Cookies verwendet?&lt;br /&gt;
&lt;br /&gt;
Unsere Webseite benutzt an mehreren Stellen sogenannte Cookies. Ausführliche Informationen und welche Cookies zum Einsatz kommen, können Sie unserer Cookie Richtlinie (Link auf Cookie Richtlinie) entnehmen.&lt;br /&gt;
&lt;br /&gt;
Einsatz und Verwendung von Tracking-, Analyse-Tools&lt;br /&gt;
&lt;br /&gt;
Auf dieser Webseite kommen keine Tracking-, Analyse-Tools&lt;br /&gt;
&lt;br /&gt;
Löschung, Sperrung und Dauer der Speicherung von personenbezogenen Daten&lt;br /&gt;
&lt;br /&gt;
Wir verarbeiten und speichern Ihre personenbezogenen Daten nur für den Zeitraum, der zur Erreichung des jeweiligen Speicherungszwecks erforderlich ist oder wie es die vom Gesetzgeber vorgesehenen vielfältigen Aufbewahrungsfristen vorsehen.&lt;br /&gt;
Nach Fortfall eines Speicherungszweckes oder nach Ablauf der vom Gesetzgeber vorgesehenen Aufbewahrungsfrist, werden die personenbezogenen Daten routinemäßig und entsprechend den gesetzlichen Vorschriften für eine weitere Verarbeitung gesperrt oder gelöscht.&lt;br /&gt;
&lt;br /&gt;
Datenschutzrechte der betroffenen Person&lt;br /&gt;
&lt;br /&gt;
Wenn Sie Fragen zu Ihren personenbezogenen Daten haben, können Sie sich jederzeit schriftlich an uns wenden. Sie haben nach DS-GVO folgende Rechte:&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Auskunft (Unterpunkt Art. 15 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben jederzeit das Recht eine Auskunft darüber zu erhalten, welche Kategorien und Informationen zu Ihren personenbezogenen Daten von uns zu welchem Zweck verarbeitet und wie lange und nach welchen Kriterien diese Daten gespeichert werden und ob in diesem Zusammenhang eine automatisierte Entscheidungsfindung einschließlich Profiling angewendet wird. Außerdem haben Sie das Recht zu erfahren welche Empfänger bzw. Kategorien von Empfängern Ihre Daten offengelegt worden sind oder noch offengelegt werden; insbesondere bei Empfängern in Drittländer oder internationalen Organisationen. In diesem Fall haben Sie auch das Recht über geeignete Garantien im Zusammenhang mit der Übermittlung Ihrer personenbezogenen Daten unterrichtet zu werden.&lt;br /&gt;
&lt;br /&gt;
Neben dem Beschwerderecht bei der Aufsichtsbehörde und dem Informationsrecht über die Herkunft Ihrer Daten haben Sie das Recht auf Löschung, Berichtigung sowie das Recht auf Einschränkung für bzw. Widerspruchsrecht gegen eine Verarbeitung Ihrer personenbezogenen Daten.&lt;br /&gt;
&lt;br /&gt;
In allen oben genannten Fällen haben Sie das Recht vom Datenbearbeiter eine kostenfreie Kopie Ihrer personenbezogenen Daten, die von uns verarbeitet werden, zu verlangen. Für alle weiteren Kopien, die Sie beantragen oder die über das Informationsrecht der betroffenen Person hinausgehen, sind wir berechtigt eine angemessene Verwaltungsgebühr zu erheben.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Berichtigung (Art. 16 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, der unverzüglichen Berichtigung Ihrer unrichtigen personenbezogenen Daten zu verlangen und unter Berücksichtigung der Zwecke der Verarbeitung, die Vervollständigung unvollständiger personenbezogener Daten auch mittels einer ergänzenden Erklärung zu verlangen. Möchten Sie das Recht auf Berichtigung in Anspruch nehmen, können Sie sich jederzeit an unseren Datenschutzbeauftragten oder den für die Verarbeitung Verantwortlichen wenden.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Löschung (Art. 17 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, die unverzügliche Löschung Ihrer Daten zu verlangen („Recht auf Vergessenwerden“) insbesondere dann, wenn die Speicherung der Daten nicht mehr notwendig ist, Sie Ihre Einwilligung zur Datenverarbeitung widerrufen, Ihre Daten unrechtmäßig verarbeitet wurden oder unrechtmäßig erhoben wurden und eine Rechtspflicht zum Löschen nach EU- oder nationalem Recht besteht.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Vergessenwerden findet jedoch keine Anwendung, wenn ein überwiegendes Recht auf freie Meinungsäußerung bzw. der Informationsfreiheit besteht, die Datenspeicherung für die Erfüllung einer rechtlichen Verpflichtung (z. B. Aufbewahrungspflichten) erforderlich ist, Archivzwecke der Löschung entgegenstehen oder die Speicherung zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen dient.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Einschränkung (Art. 18 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht auf Einschränkung der Verarbeitung Ihrer Daten durch den für die Verarbeitung Verantwortlichen zu verlangen, wenn die Richtigkeit der Daten von Ihnen bestritten wird, die Verarbeitung unrechtmäßig ist, Sie die Löschung Ihrer personenbezogenen Daten ablehnen und stattdessen eine Einschränkung der Verarbeitung verlangen, wenn die Erforderlichkeit für den Verarbeitungszweck entfällt oder Sie der Verarbeitung gemäß Artikel 21 Absatz 1 widersprochen haben, solange noch nicht feststeht, ob berechtigte Gründe unsererseits gegenüber Ihren überwiegen.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Datenübertragbarkeit (Art. 20 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht auf Übertragbarkeit Ihrer personenbezogenen Daten, welche Sie unserem Unternehmen in Form eines gängigen Formates bereitgestellt haben, damit Sie ohne Behinderung Ihre personenbezogenen Daten an einen anderen Verantwortlichen weiterleiten lassen können, sofern bspw. Ihrerseits eine Einwilligung vorliegt und die Verarbeitung mittels eines automatisierten Verfahrens erfolgt.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Widerspruch (Art. 21 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, jederzeit gegen die Erhebung, Verarbeitung oder Nutzung ihrer personenbezogenen Daten für Zwecke der Direktwerbung oder der Markt- und Meinungsforschung sowie der allgemeinen geschäftsmäßigen Datenverarbeitung zu widersprechen, es sei denn, wir können zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die Ihren Interessen, Rechten und Freiheiten überwiegen.&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus können Sie Ihr Recht auf Widerspruch nicht wahrnehmen, wenn eine Rechtsvorschrift die Erhebung, Verarbeitung oder Nutzung der Daten vorsieht oder zur Erhebung, Verarbeitung oder Nutzung verpflichtet.&lt;br /&gt;
&lt;br /&gt;
Beschwerderecht bei der Datenschutzaufsichtsbehörde (Art. 77 DS-GVO i. V. m § 19 BDSG)&lt;br /&gt;
&lt;br /&gt;
Ihnen wird das Recht zuerkannt, sich bei der zuständigen Aufsichtsbehörde zu beschweren, wenn sie der Ansicht sind, dass ein Verstoß bei der Verarbeitung Ihrer personenbezogenen Daten vorliegt.&lt;br /&gt;
&lt;br /&gt;
Recht auf Widerruf einer datenschutzrechtlichen Einwilligung (Art. 7 Abs. 3 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Eine erteilte Einwilligung für die Verarbeitung Ihrer personenbezogenen Daten können Sie jederzeit und ohne Angaben von Gründen widerrufen. Dies gilt auch für den Widerruf von Einwilligungserklärungen, die vor Inkrafttreten der EU-Datenschutz-Grundverordnung, uns gegenüber erteilt worden ist.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage der Verarbeitung&lt;br /&gt;
&lt;br /&gt;
Bei der Verarbeitung von personenbezogenen Daten, für die wir eine Einwilligung der betroffenen Person einholen, dient Art. 6 Abs. 1, Satz 1 a) der Datenschutz-Grundverordnung (DSGVO) als Rechtsgrundlage.Bei der Verarbeitung von personenbezogenen Daten, die zur Erfüllung eines Vertrages erforderlich sind, dessen Vertragspartei die betroffene Person ist, dient Art. 6 Ab. 1, Satz 1 b) (DSGVO) als Rechtsgrundlage. Diese Regelung umfasst auch Verarbeitungsvorgänge, die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind.&lt;br /&gt;
&lt;br /&gt;
Soweit eine Verarbeitung personenbezogener Daten zur Erfüllung einer rechtlichen Verpflichtung erforderlich ist, denen unser Unternehmen unterliegt, dient Art. 6 Abs. 1, Satz 1 c) (DSGVO) als Rechtsgrundlage.&lt;br /&gt;
&lt;br /&gt;
Ist die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich und überwiegen die Interessen, Grundrechte und Grundfreiheiten des Betroffenen das erstgenannte Interesse nicht, so dient Art. 6 Abs. 1 Satz 1 f) (DSGVO) als Rechtsgrundlage für die Verarbeitung. Das berechtige Interesse unseres Unternehmens liegt in der Durchführung unserer Geschäftstätigkeit sowie in der Analyse, Optimierung und Erhaltung der Sicherheit unseres Onlineangebotes.&lt;br /&gt;
&lt;br /&gt;
Übermittlung von Daten an Dritte&lt;br /&gt;
&lt;br /&gt;
Wir verkaufen oder verleihen generell keine Nutzerdaten. Eine Übermittlung an Dritte über den in dieser Datenschutzerklärung beschriebenen Rahmen hinaus, findet nur dann statt, wenn dies zur Abwicklung des jeweiligen angeforderten Dienstes nötig ist.&lt;br /&gt;
&lt;br /&gt;
Wir übermitteln Daten nur dann, wenn dazu eine rechtliche Verpflichtung besteht. Das ist dann der Fall, wenn staatliche Einrichtungen (z.B. Strafverfolgungsbehörden) schriftlich um Auskunft ersuchen oder eine richterliche Verfügung vorliegt.&lt;br /&gt;
&lt;br /&gt;
Eine Übermittlung von personenbezogenen Daten in sogenannte Drittstaaten außerhalb des EU/ EWR-Raumes findet nicht statt.&lt;br /&gt;
&lt;br /&gt;
Gesetzliche oder vertragliche Vorschriften zur Bereitstellung von personenbezogenen Daten sowie mögliche Folgen der Nichtbereitstellung&lt;br /&gt;
&lt;br /&gt;
Wir weisen hiermit darauf hin, dass die Bereitstellung von personenbezogenen Daten in bestimmten Fällen (z.B. Steuervorschriften) gesetzlich vorgeschrieben ist oder sich aus vertraglichen Regelungen (z.B. Angaben zum/des Vertragspartners) ergeben kann. Beispielsweise kann es für einen Vertragsabschluss erforderlich sein, dass die betroffene Person/der Vertragspartner seine personenbezogenen Daten zur Verfügung stellen muss, damit sein Anliegen (z.B. Bestellung) überhaupt von uns bearbeitet werden kann. Eine Verpflichtung zur Bereitstellung von personenbezogenen Daten ergibt sich vor allem bei Vertragsabschlüssen. Sollten in diesem Fall keine personenbezogenen Daten bereitgestellt werden, kann der Vertrag mit der betroffenen Person nicht abgeschlossen werden. Vor einer Bereitstellung personenbezogener Daten durch den Betroffenen kann sich der Betroffene an unseren Datenschutzbeauftragten oder an den für die Verarbeitung Verantwortlichen wenden. Der Datenschutzbeauftragte oder der für die Verarbeitung Verantwortliche klärt dann den Betroffenen darüber auf, ob die Bereitstellung der benötigten personenbezogenen Daten gesetzlich oder vertraglich vorgeschrieben bzw. für den Vertragsabschluss erforderlich ist und ob sich aus den Anliegen der betroffenen Person eine Verpflichtung ergibt, die personenbezogenen Daten bereitzustellen bzw. welche Folgen eine Nichtbereitstellung der gewünschten Daten für den Betroffenen hat.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel Justizministerium BW ===&lt;br /&gt;
==== Datenschutzhinweis ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutzhinweis&lt;br /&gt;
Die nachfolgenden Datenschutzhinweise geben einen Überblick über die Erhebung und Verarbeitung Ihrer Daten. Die vollständigen Informationen ergeben sich aus der Datenschutzerklärung.&lt;br /&gt;
&lt;br /&gt;
Welche Daten erfassen wir von Ihnen?&lt;br /&gt;
1. Beim Aufruf unserer Webseite:&lt;br /&gt;
&lt;br /&gt;
Ihre IP-Adresse zusammen mit dem Zeitpunkt und Inhalt Ihres Abrufs einschließlich der übertragenen Datenmenge und der Meldung, ob der Abruf erfolgreich war. Diese Daten werden nach Ende des Zugriffs auf die Webseite gelöscht.&lt;br /&gt;
&lt;br /&gt;
2. Aufgrund ihrer Eingaben auf unserer Webseite:&lt;br /&gt;
&lt;br /&gt;
Auf dem Kontaktformular: Ihr Vor- und Nachname und Ihre E-Mail-Adresse&lt;br /&gt;
Wenn Sie bei uns Publikationen bestellen: Den Inhalt Ihrer Bestellung und sowie Ihr Geschlecht, Ihren Nachnamen, Ihre Anschrift und Ihre E-Mail-Adresse&lt;br /&gt;
Wenn Sie bei uns den Newsletter bestellen: Ihre E-Mail-Adresse&lt;br /&gt;
3. Weitere Daten erheben wir nicht.&lt;br /&gt;
Auf welche Weise erheben wir Ihre Daten?&lt;br /&gt;
Die Daten, die wir bei jedem Zugriff erheben, protokollieren wir automatisiert; ansonsten nur aufgrund Ihrer Eingaben und beim Bestellservice für Broschüren durch einen temporären Cookie.&lt;br /&gt;
Wofür nutzen wir Ihre Daten?&lt;br /&gt;
Ausschließlich zur Bereitstellung, Optimierung und Sicherheit unseres Internetangebots&lt;br /&gt;
Mit Ihrer Einwilligung zur Entgegenahme Ihrer Mitteilung und zur Abwicklung Ihrer Bestellung&lt;br /&gt;
Wir nutzen Ihre Daten auch&lt;br /&gt;
nicht zur Profilbildung&lt;br /&gt;
nicht für Werbung&lt;br /&gt;
grundätzlich nicht zur Weitergabe an Dritte, außer:&lt;br /&gt;
&lt;br /&gt;
Bei der Bestellung von Publikationen teilen wir Ihre Adressdaten dem Versanddienstleister mit&lt;br /&gt;
Zur Verfolgung rechtlicher Interessen, insbesondere wenn die Daten im Zusammenhang mit einem Angriff auf unsere IT-Strukturen stehen&lt;br /&gt;
Welche Rechte haben Sie:&lt;br /&gt;
Auskunft&lt;br /&gt;
Löschung&lt;br /&gt;
Berichtigung&lt;br /&gt;
Widerspruch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== Datenschutz.org====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutzerklärung&lt;br /&gt;
Das Bundesministerium der Justiz und für Verbraucherschutz nimmt den Schutz Ihrer personenbezogenen Daten sehr ernst. Wir möchten, dass Sie wissen, wann wir welche Daten erheben und wie wir sie verwenden. Wir haben technische und organisatorische Maßnahmen getroffen, die sicherstellen, dass die Vorschriften über den Datenschutz sowohl von uns als auch von externen Dienstleistern beachtet werden. Im Zuge der Weiterentwicklung unserer Webseiten und der Implementierung neuer Technologien, um unseren Service für Sie zu verbessern, können auch Änderungen dieser Datenschutzerklärung erforderlich werden. Daher empfehlen wir Ihnen, sich diese Datenschutzerklärung ab und zu erneut durchzulesen.&lt;br /&gt;
&lt;br /&gt;
Zugriff auf das Internetangebot&lt;br /&gt;
Jeder Zugriff auf das Internetangebot des Bundesministeriums der Justiz und für Verbraucherschutz wird in einer Protokolldatei gespeichert. In der Protokolldatei werden folgende Daten maximal 14 Tage gespeichert:&lt;br /&gt;
&lt;br /&gt;
Name der abgerufenen Datei&lt;br /&gt;
Datum und Uhrzeit des Abrufs&lt;br /&gt;
übertragene Datenmenge&lt;br /&gt;
Meldung, ob der Abruf erfolgreich war&lt;br /&gt;
Die gespeicherten Daten werden nur zur Optimierung des Internetangebotes ausgewertet.&lt;br /&gt;
Wenn Sie Informationsmaterial, Newsletter, Autogrammkarten oder Broschüren bestellen, fragen wir Sie nach Ihrem Namen und nach anderen persönlichen Informationen. Es unterliegt Ihrer freien Entscheidung, ob Sie diese Daten eingeben. Ihre Angaben speichern wir auf besonders geschützten Servern in Deutschland. Der Zugriff darauf ist nur wenigen besonders befugten Personen möglich, die mit der technischen, kaufmännischen oder redaktionellen Betreuung der Server befasst sind.&lt;br /&gt;
&lt;br /&gt;
Weitergabe personenbezogener Daten an Dritte&lt;br /&gt;
Daten, die beim Zugriff auf das Internetangebot des Bundesministeriums der Justiz und für Verbraucherschutz protokolliert worden sind, werden an Dritte nur übermittelt, soweit wir gesetzlich oder durch Gerichtsentscheidung dazu verpflichtet sind oder die Weitergabe im Falle von Angriffen auf die Internetinfrastruktur des BMJV zur Rechts- oder Strafverfolgung erforderlich ist. Eine Weitergabe zu anderen nichtkommerziellen oder zu kommerziellen Zwecken erfolgt nicht.&lt;br /&gt;
&lt;br /&gt;
Im Falle der Bestellung von Informationsmaterial verwenden wir die von Ihnen eingegebenen personenbezogenen Informationen nur innerhalb des Bundesministeriums der Justiz und für Verbraucherschutz und der mit dem Broschürenversand beauftragten Unternehmen. Wir geben sie nicht ohne Ihre ausdrückliche Einwilligung an Dritte weiter.&lt;br /&gt;
&lt;br /&gt;
Schutz personenbezogener Daten im Rahmen der europäischen Zusammenarbeit im Verbraucherschutz&lt;br /&gt;
Die Erklärung zum Schutz personenbezogener Daten im Rahmen der europäischen Zusammenarbeit im Verbraucherschutz finden Sie hier.&lt;br /&gt;
&lt;br /&gt;
Einsatz von Cookies&lt;br /&gt;
Auf den Seiten unseres Bestellservices für Broschüren kommt ein Cookie zum Einsatz, das für die Zeit ihres Besuchs auf der Website gültig ist. Dies ist für die Funktion des Warenkorbs aus technischen Gründen notwendig. Die meisten Browser sind so eingestellt, dass sie Cookies automatisch akzeptieren. Sie können das Speichern von Cookies jedoch deaktivieren oder Ihren Browser so einstellen, dass Cookies nur für die Dauer der jeweiligen Verbindung zum Internet gespeichert werden.&lt;br /&gt;
&lt;br /&gt;
Minderjährigenschutz&lt;br /&gt;
Personen unter 18 Jahren sollten ohne Zustimmung der Eltern oder Erziehungsberechtigten keine personenbezogenen Daten an uns übermitteln. Wir fordern keine personenbezogenen Daten von Kindern und Jugendlichen an. Wissentlich sammeln wir solche Daten nicht und geben sie auch nicht an Dritte weiter.&lt;br /&gt;
&lt;br /&gt;
Links zu Webseiten anderer Anbieter&lt;br /&gt;
Unser Online-Angebot enthält Links zu Webseiten anderer Anbieter. Wir haben keinen Einfluss darauf, dass diese Anbieter die Datenschutzbestimmungen einhalten.&lt;br /&gt;
Behördliche Datenschutzbeauftragte&lt;br /&gt;
Frau Elisabeth Duhr&lt;br /&gt;
Bundesministerium der Justiz und für Verbraucherschutz &lt;br /&gt;
Mohrenstr. 37&lt;br /&gt;
10117 Berlin&lt;br /&gt;
&lt;br /&gt;
Telefon: +49 (0) 30 18 580 - 0&lt;br /&gt;
E-Mail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Datenschutz.org ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATENSCHUTZERKLÄRUNG&lt;br /&gt;
&lt;br /&gt;
GELTUNGSBEREICH&lt;br /&gt;
&lt;br /&gt;
Diese Datenschutzerklärung soll die Nutzer dieser Website gemäß Bundesdatenschutzgesetz und Telemediengesetz über die Art, den Umfang und den Zweck der Erhebung und Verwendung personenbezogener Daten durch den Websitebetreiber [Ihre Kontaktdaten einfügen] informieren.&lt;br /&gt;
Der Websitebetreiber nimmt Ihren Datenschutz sehr ernst und behandelt Ihre personenbezogenen Daten vertraulich und entsprechend der gesetzlichen Vorschriften.&lt;br /&gt;
Bedenken Sie, dass die Datenübertragung im Internet grundsätzlich mit Sicherheitslücken bedacht sein kann. Ein vollumfänglicher Schutz vor dem Zugriff durch Fremde ist nicht realisierbar.&lt;br /&gt;
&lt;br /&gt;
ZUGRIFFSDATEN&lt;br /&gt;
&lt;br /&gt;
Der Websitebetreiber bzw. Seitenprovider erhebt Daten über Zugriffe auf die Seite und speichert diese als „Server-Logfiles“ ab. Folgende Daten werden so protokolliert:&lt;br /&gt;
Besuchte Website&lt;br /&gt;
Uhrzeit zum Zeitpunkt des Zugriffes&lt;br /&gt;
Menge der gesendeten Daten in Byte&lt;br /&gt;
Quelle/Verweis, von welchem Sie auf die Seite gelangten&lt;br /&gt;
Verwendeter Browser&lt;br /&gt;
Verwendetes Betriebssystem&lt;br /&gt;
Verwendete IP-Adresse&lt;br /&gt;
Die erhobenen Daten dienen lediglich statistischen Auswertungen und zur Verbesserung der Website. Der Websitebetreiber behält sich allerdings vor, die Server-Logfiles nachträglich zu überprüfen, sollten konkrete Anhaltspunkte auf eine rechtswidrige Nutzung hinweisen.&lt;br /&gt;
&lt;br /&gt;
COOKIES&lt;br /&gt;
Diese Website verwendet Cookies. Dabei handelt es sich um kleine Textdateien, welche auf Ihrem Endgerät gespeichert werden. Ihr Browser greift auf diese Dateien zu. Durch den Einsatz von Cookies erhöht sich die Benutzerfreundlichkeit und Sicherheit dieser Website.&lt;br /&gt;
Gängige Browser bieten die Einstellungsoption, Cookies nicht zuzulassen. Hinweis: Es ist nicht gewährleistet, dass Sie auf alle Funktionen dieser Website ohne Einschränkungen zugreifen können, wenn Sie entsprechende Einstellungen vornehmen.&lt;br /&gt;
&lt;br /&gt;
UMGANG MIT PERSONENBEZOGENEN DATEN&lt;br /&gt;
&lt;br /&gt;
Der Websitebetreiber erhebt, nutzt und gibt Ihre personenbezogenen Daten nur dann weiter, wenn dies im gesetzlichen Rahmen erlaubt ist oder Sie in die Datenerhebung einwilligen.&lt;br /&gt;
Als personenbezogene Daten gelten sämtliche Informationen, welche dazu dienen, Ihre Person zu bestimmen und welche zu Ihnen zurückverfolgt werden können – also beispielsweise Ihr Name, Ihre E-Mail-Adresse und Telefonnummer.&lt;br /&gt;
&lt;br /&gt;
UMGANG MIT KONTAKTDATEN&lt;br /&gt;
&lt;br /&gt;
Nehmen Sie mit dem Websitebetreiber durch die angebotenen Kontaktmöglichkeiten Verbindung auf, werden Ihre Angaben gespeichert, damit auf diese zur Bearbeitung und Beantwortung Ihrer Anfrage zurückgegriffen werden kann. Ohne Ihre Einwilligung werden diese Daten nicht an Dritte weitergegeben.&lt;br /&gt;
&lt;br /&gt;
UMGANG MIT KOMMENTAREN UND BEITRÄGEN&lt;br /&gt;
&lt;br /&gt;
Hinterlassen Sie auf dieser Website einen Beitrag oder Kommentar, wird Ihre IP-Adresse gespeichert. Dies dient der Sicherheit des Websitebetreibers: Verstößt Ihr Text gegen das Recht, möchte er Ihre Identität nachverfolgen können.&lt;br /&gt;
&lt;br /&gt;
ABONNEMENTS&lt;br /&gt;
&lt;br /&gt;
Sie haben die Möglichkeit, sowohl die gesamte Website als auch Nachfolgekommentare auf Ihren Beitrag zu abonnieren. Sie erhalten eine E-Mail zur Bestätigung Ihrer E-Mail-Adresse. Neben dieser werden keine weiteren Daten erhoben. Die gespeicherten Daten werden nicht an Dritte weitergereicht. Sie können ein Abonnement jederzeit abbestellen.&lt;br /&gt;
&lt;br /&gt;
GOOGLE ANALYTICS&lt;br /&gt;
Diese Website nutzt den Dienst „Google Analytics“, welcher von der Google Inc. (1600 Amphitheatre Parkway Mountain View, CA 94043, USA) angeboten wird, zur Analyse der Websitebenutzung durch Nutzer. Der Dienst verwendet „Cookies“ – Textdateien, welche auf Ihrem Endgerät gespeichert werden. Die durch die Cookies gesammelten Informationen werden im Regelfall an einen Google-Server in den USA gesandt und dort gespeichert.&lt;br /&gt;
Auf dieser Website greift die IP-Anonymisierung. Die IP-Adresse der Nutzer wird innerhalb der Mitgliedsstaaten der EU und des Europäischen Wirtschaftsraum gekürzt. Durch diese Kürzung entfällt der Personenbezug Ihrer IP-Adresse. Im Rahmen der Vereinbarung zur Auftragsdatenvereinbarung, welche die Websitebetreiber mit der Google Inc. geschlossen haben, erstellt diese mithilfe der gesammelten Informationen eine Auswertung der Websitenutzung und der Websiteaktivität und erbringt mit der Internetnutzung verbundene Dienstleistungen.&lt;br /&gt;
Sie haben die Möglichkeit, die Speicherung des Cookies auf Ihrem Gerät zu verhindern, indem Sie in Ihrem Browser entsprechende Einstellungen vornehmen. Es ist nicht gewährleistet, dass Sie auf alle Funktionen dieser Website ohne Einschränkungen zugreifen können, wenn Ihr Browser keine Cookies zulässt.&lt;br /&gt;
Weiterhin können Sie durch ein Browser-Plugin verhindern, dass die durch Cookies gesammelten Informationen (inklusive Ihrer IP-Adresse) an die Google Inc. gesendet und von der Google Inc. genutzt werden. Folgender Link führt Sie zu dem entsprechenden Plugin: https://tools.google.com/dlpage/gaoptout?hl=de Alternativ verhindern Sie mit einem Klick auf diesen Link (WICHTIG! Opt-Out-Link einfügen), dass Google Analytics innerhalb dieser Website Daten über Sie erfasst. Mit dem Klick auf obigen Link laden Sie ein „Opt-Out-Cookie“ herunter. Ihr Browser muss die Speicherung von Cookies also hierzu grundsätzlich erlauben. Löschen Sie Ihre Cookies regelmäßig, ist ein erneuter Klick auf den Link bei jedem Besuch dieser Website vonnöten.&lt;br /&gt;
Hier finden Sie weitere Informationen zur Datennutzung durch die Google Inc.: https://support.google.com/analytics/answer/6004245?hl=de&lt;br /&gt;
&lt;br /&gt;
NUTZUNG VON SOCIAL MEDIA PLUGINS&lt;br /&gt;
&lt;br /&gt;
FACEBOOK&lt;br /&gt;
Diese Website verwendet Facebook Social Plugins, welches von der Facebook Inc. (1 Hacker Way, Menlo Park, California 94025, USA) betrieben wird. Erkennbar sind die Einbindungen an dem Facebook-Logo bzw. an den Begriffen „Like“, „Gefällt mir“, „Teilen“ in den Farben Facebooks (Blau und Weiß). Informationen zu allen Facebook-Plugins finden Sie im folgenden Link: https://developers.facebook.com/docs/plugins/&lt;br /&gt;
Das Plugin stellt eine direkte Verbindung zwischen Ihrem Browser und den Facebook-Servern her. Der Websitebetreiber hat keinerlei Einfluss auf die Natur und den Umfang der Daten, welche das Plugin an die Server der Facebook Inc. übermittelt. Informationen dazu finden Sie hier: https://www.facebook.com/help/186325668085084 Das Plugin informiert die Facebook Inc. darüber, dass Sie Nutzer diese Website besucht hat. Es besteht hierbei die Möglichkeit, dass Ihre IP-Adresse gespeichert wird. Sind Sie während des Besuchs auf dieser Website in Ihrem Facebook-Konto eingeloggt, werden die genannten Informationen mit diesem verknüpft.&lt;br /&gt;
Nutzen Sie die Funktionen des Plugins – etwa indem Sie einen Beitrag teilen oder „liken“ – werden die entsprechenden Informationen ebenfalls an die Facebook Inc. übermittelt.&lt;br /&gt;
Möchten Sie verhindern, dass die Facebook. Inc. diese Daten mit Ihrem Facebook-Konto verknüpft, loggen Sie sich bitte vor dem Besuch dieser Website bei Facebook aus.&lt;br /&gt;
&lt;br /&gt;
GOOGLE+&lt;br /&gt;
Weiterhin nutzt diese Website die „+1“-Schaltfläche von Google Plus. Betrieben wird diese von der Google Inc. (1600 Amphitheatre Parkway Mountain View, CA 94043, USA). Besuchen Sie eine Seite, welche die „+1“-Schaltfläche enthält, entsteht eine direkte Verbindung zwischen Ihrem Browser und den Google-Servern. Der Websitebetreiber hat daher keinerlei Einfluss auf die Natur und den Umfang der Daten, welche das Plugin an die Server der Google Inc. übermitteln. Klicken Sie auf den „+1“-Button, während Sie in Google + angemeldet sind, teilen Sie die Inhalte der Seite auf Ihrem öffentlichen Profil.&lt;br /&gt;
Personenbezogene Daten werden laut der Google Inc. erst dann erhoben, wenn Sie auf die Schaltfläche klicken. Auch bei eingeloggten Google-Nutzern wird unter anderem die IP-Adresse gespeichert. Möchten Sie verhindern, dass die Google Inc. diese Daten speichert und mit Ihrem Konto verknüpft, loggen Sie sich bitte vor dem Besuch dieser Website aus.&lt;br /&gt;
Informationen zur „+1“-Schaltfläche finden Sie hier: https://developers.google.com/+/web/buttons-policy.&lt;br /&gt;
Weiterhin nutzt diese Website Twitter-Schlatflächen. Betrieben werden diese von der Twitter Inc. (795 Folsom St., Suite 600, San Francisco, CA 94107, USA). Besuchen Sie eine Seite, welche eine solche Schaltfläche enthält, entsteht eine direkte Verbindung zwischen Ihrem Browser und den Twitter-Servern. Der Websitebetreiber hat daher keinerlei Einfluss über die Natur und den Umfang der Daten, welche das Plugin an die Server Twitter Inc. übermittelt.&lt;br /&gt;
Gemäß der Twitter Inc. wird dabei allein Ihre IP-Adresse erhoben und gespeichert. Informationen zu dem Umgang mit personenbezogenen Daten durch die Twitter Inc. finden Sie hier: https://twitter.com/privacy?lang=de&lt;br /&gt;
&lt;br /&gt;
NEWSLETTER ABONNEMENT&lt;br /&gt;
&lt;br /&gt;
Der Websitebetreiber bietet Ihnen einen Newsletter an, in welchem er Sie über aktuelle Geschehnisse und Angebote informiert. Möchten Sie den Newsletter abonnieren, müssen Sie eine valide E-Mail-Adresse angeben.&lt;br /&gt;
Rechte des Nutzers: Auskunft, Berichtigung und Löschung&lt;br /&gt;
Sie als Nutzer erhalten auf Antrag Ihrerseits kostenlose Auskunft darüber, welche personenbezogenen Daten über Sie gespeichert wurden. Sofern Ihr Wunsch nicht mit einer gesetzlichen Pflicht zur Aufbewahrung von Daten (z. B. Vorratsdatenspeicherung) kollidiert, haben Sie ein Anrecht auf Berichtigung falscher Daten und auf die Sperrung oder Löschung Ihrer personenbezogenen Daten.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Standard Beispiel ohne Plugins etc. ===&lt;br /&gt;
Datenschutz&lt;br /&gt;
&lt;br /&gt;
Wir freuen uns über Ihren Besuch auf unserer Webseite sowie über Ihr Interesse an unserem Unternehmen.&lt;br /&gt;
&lt;br /&gt;
Wir verstehen Datenschutz als kundenorientiertes Qualitätsmerkmal. Der Schutz Ihrer persönlichen Daten und die Wahrung Ihres Persönlichkeitsrechts sind uns wichtig.&lt;br /&gt;
&lt;br /&gt;
Mit dieser Datenschutzerklärung möchten wir alle Besucher unserer Webseite transparent über Art, Umfang und Zweck der von uns erhobenen, genutzten und verarbeiteten personenbezogenen Daten informieren und Sie über die Ihnen zustehenden Rechte aufklären.&lt;br /&gt;
&lt;br /&gt;
Eine Nutzung unserer Webseite ist grundsätzlich ohne die Angabe von personenbezogener Daten möglich. Sollten Sie jedoch über unsere Webseite Dienste unseres Unternehmens in Anspruch nehmen, kann die Verarbeitung Ihrer personenbezogenen Daten erforderlich werden.&lt;br /&gt;
&lt;br /&gt;
Die beim Besuch unserer Webseiten automatisch erhobenen Daten oder aber bei der Inanspruchnahme von Diensten von Ihnen eingetragenen personenbezogenen Daten, werden gemäß den jeweils aktuellen gesetzlichen Bestimmungen zum Schutz personenbezogener Daten verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Ist eine Verarbeitung Ihrer personenbezogenen Daten erforderlich und besteht für eine solche Verarbeitung keine gesetzliche Grundlage, holen wir grundsätzlich eine Einwilligung für den erforderlichen Zweck der Verarbeitung ein.&lt;br /&gt;
Als für die Verarbeitung verantwortliches Unternehmen, haben wir technische und organisatorische Maßnahmen festgelegt, um ein möglichst hohes Schutzniveau Ihrer personenbezogenen Daten sicherzustellen. Wir weisen jedoch darauf hin, dass eine Datenübertragung über das World Wide Web grundsätzlich Sicherheitslücken aufweisen kann.&lt;br /&gt;
&lt;br /&gt;
Möchten Sie Dienste unseres Unternehmens in Anspruch nehmen und hierfür nicht den Weg der Datenübermittlung über das World Wide Web nutzen wollen, beseht auch die Möglichkeit der telefonischen Kontaktaufnahme.&lt;br /&gt;
&lt;br /&gt;
NAME UND ANSCHRIFT DES VERANTWORTLICHEN&lt;br /&gt;
&lt;br /&gt;
Der Verantwortliche im Sinne der Datenschutz-Grundverordnung und anderer nationaler Datenschutzgesetze der Mitgliedsstaaten sowie sonstiger datenschutzrechtlicher Bestimmungen ist:&lt;br /&gt;
&lt;br /&gt;
ADRESSE&lt;br /&gt;
&lt;br /&gt;
Sie können diese Website in der Regel ohne Angabe personenbezogener Daten nutzen. Soweit wir personenbezogene Daten erfassen (z.B. wenn Sie mit uns in Kontakt treten möchten), erfolgt dies stets gemäß den gesetzlichen Datenschutzvorschriften, sowie dieser Datenschutzerklärung. Ohne ausdrückliche Zustimmung werden Ihre Daten niemals an Dritte weitergegeben.&lt;br /&gt;
&lt;br /&gt;
VERSCHLÜSSELTE DATENÜBERTRAGUNG&lt;br /&gt;
&lt;br /&gt;
Auf allen Seiten unseres Internetangebots, auf denen Sie persönliche Daten eingeben - so z. B. in unserem Kontaktformular, werden Ihre Daten direkt bei der Übertragung verschlüsselt. Alle datenschutzrelevanten Informationen (wie Name und Adresse) werden geschützt gespeichert.&lt;br /&gt;
&lt;br /&gt;
Wir möchten Sie darauf hinweisen, dass die Datenübertragung im Internet (z .B. wenn Sie uns eine E-Mail schreiben) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist generell nicht möglich.&lt;br /&gt;
&lt;br /&gt;
UMFANG DER VERARBEITUNG PERSONENBEZOGENER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir verarbeiten personenbezogene Daten unserer Nutzer grundsätzlich nur, soweit dies für die Funktion der Website und die Bereitstellung der Inhalte und angebotenen Leistungen erforderlich ist. Die Verarbeitung personenbezogener Daten unserer Nutzer erfolgt regelmäßig nur nach Einwilligung des Nutzers. Ausnahmen gelten, wenn eine vorherige Einholung einer Einwilligung aus tatsächlichen Gründen nicht möglich ist und die Verarbeitung der Daten durch gesetzliche Vorschriften gestattet ist.&lt;br /&gt;
&lt;br /&gt;
DATENLÖSCHUNG UND SPEICHERDAUER&lt;br /&gt;
&lt;br /&gt;
Die personenbezogenen Daten der betroffenen Person werden gelöscht oder gesperrt, sobald der Zweck der Speicherung entfällt. Eine Speicherung kann darüber hinaus erfolgen, wenn dies durch den europäischen oder nationalen Gesetzgeber in unionsrechtlichen Verordnungen, Gesetzen oder sonstigen Vorschriften, denen der Verantwortliche unterliegt, vorgesehen wurde. Eine Sperrung oder Löschung der Daten erfolgt auch dann, wenn eine durch die genannten Normen vorgeschriebene Speicherfrist abläuft, es sei denn, dass eine Erforderlichkeit zur weiteren Speicherung der Daten für einen Vertragsabschluss oder eine Vertragserfüllung besteht.&lt;br /&gt;
&lt;br /&gt;
BEREITSTELLUNG DER WEBSITE UND ERSTELLUNG VON LOGFILES&lt;br /&gt;
&lt;br /&gt;
Bei jedem Aufruf unserer Internetseite erfasst unser System automatisiert Daten und Informationen vom Computersystem des aufrufenden Rechners. Folgende Daten werden hierbei erhoben:&lt;br /&gt;
&lt;br /&gt;
Informationen über den Browsertyp und die verwendete Version&lt;br /&gt;
Das Betriebssystem des Nutzers&lt;br /&gt;
Den Internet-Service-Provider des Nutzers&lt;br /&gt;
Die IP-Adresse des Nutzers&lt;br /&gt;
Datum und Uhrzeit des Zugriffs&lt;br /&gt;
Websites, von denen das System des Nutzers auf unsere Internetseite gelangt&lt;br /&gt;
Websites, die vom System des Nutzers über unsere Website aufgerufen werden&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. IP-Adressen werden im Logfile teilanonymisiert gespeichert, ihnen fehlt dadurch das Merkmal der Personenbezogenheit. Es werden keine Daten gespeichert, die eine Zuordnung der Daten zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die vorübergehende Speicherung der Daten ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Die vorübergehende Speicherung der IP-Adresse durch das System ist notwendig, um eine Auslieferung der Website an den Rechner des Nutzers zu ermöglichen. Hierfür muss die IP-Adresse des Nutzers für die Dauer der Sitzung gespeichert bleiben.&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Im Falle der Erfassung der Daten zur Bereitstellung der Website ist dies der Fall, wenn die jeweilige Sitzung beendet ist. Widerspruchs- und Beseitigungsmöglichkeit Die Erfassung der Daten zur Bereitstellung der Website und die Speicherung der Daten in Logfiles ist für den Betrieb der Internetseite zwingend erforderlich. Es besteht folglich seitens des Nutzers keine Widerspruchsmöglichkeit.&lt;br /&gt;
&lt;br /&gt;
ERSTELLUNG DER ZUGRIFFSSTATISTIK&lt;br /&gt;
&lt;br /&gt;
Diese Website verwendet Webalizer. Bei diesem Produkt handelt es sich um einen Web-Analyse-Dienst, der Daten über das Verhalten von Besuchern von Webseiten erhebt, sammelt und auswertet. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Webseite eine betroffene Person auf eine Webseite gekommen ist (wenn die Person zuvor einen Link geklickt hat), auf welche Unterseiten der Webseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde.&lt;br /&gt;
&lt;br /&gt;
Der Zweck der Verwendung ist die Auswertung der Nutzung von Webseiten zur Verbesserung des Angebots und der Bedienung. Durch die Auswertung kann in Erfahrung gebracht werden, wie die jeweilige Website genutzt wird und so das Angebot der Webseite stetig optimiert werden. Die auf diese Weise zu Analysezwecken erhoben Daten der Nutzer werden durch technische Vorkehrungen anonymisiert. Daher ist eine Zuordnung der Daten zum aufrufenden Nutzer nicht mehr möglich.&lt;br /&gt;
&lt;br /&gt;
Die Daten werden nicht gemeinsam mit sonstigen personenbezogenen Daten der Nutzer gespeichert. In diesen Zwecken liegt auch das berechtigte Interesse des Webseitenbetreibers in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1 Buchstabe f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Der Dienst speichert die verarbeiteten Daten für 190 Tage.&lt;br /&gt;
&lt;br /&gt;
Der Dienst nutzt keine Cookies, sondern verarbeiten ausschließlich die Daten des Logfiles (siehe Erstellung von Logfiles). IP-Adressen werden im Logfile teilanonymisiert gespeichert, ihnen fehlt darum das Merkmal der Personenbezogenheit.&lt;br /&gt;
&lt;br /&gt;
VERWENDUNG VON COOKIES&lt;br /&gt;
&lt;br /&gt;
Unsere Webseite verwendet Cookies. Bei Cookies handelt es sich um Textdateien, die im Internetbrowser bzw. vom Internetbrowser auf dem Computersystem des Nutzers gespeichert werden. Dieser Cookie enthält eine charakteristische Zeichenfolge. Dadurch können wir den Browser beim erneuten Aufrufen der Website wiedererkennen. Durch den Einsatz von Cookies können wir unsere Website nutzerfreundlicher gestalten. Einige Elemente unserer Internetseite erfordern es, dass der aufrufende Browser auch nach einem Seitenwechsel identifiziert werden kann.&lt;br /&gt;
&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Die durch technisch notwendige Cookies erhobenen Nutzerdaten werden nicht zur Erstellung von Nutzerprofilen verwendet. &lt;br /&gt;
&lt;br /&gt;
KONTAKTFORMULAR UND E-MAIL KONTAKT&lt;br /&gt;
&lt;br /&gt;
Auf unserer Website können Sie Kontaktformulare zur elektronische Kontaktaufnahme nutzen.&lt;br /&gt;
&lt;br /&gt;
Nehmen Sie diese Möglichkeit wahr, so werden die von Ihnen in der Eingabemaske eingegeben Daten an uns übermittelt und gespeichert. Im Zeitpunkt der Absendung der Nachricht werden zudem folgende Daten gespeichert:&lt;br /&gt;
&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Absendevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse möglich.&lt;br /&gt;
&lt;br /&gt;
In diesem Fall werden die mit der E-Mail übermittelten personenbezogenen Daten des Nutzers gespeichert. Die Daten werden ausschließlich für die Verarbeitung der Konversation verwendet.&lt;br /&gt;
&lt;br /&gt;
Es erfolgt in diesem Zusammenhang keine Weitergabe der Daten an Dritte.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten, die im Zuge einer Übersendung einer E-Mail übermittelt werden, ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Zielt der E-Mail-Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
&lt;br /&gt;
Die Verarbeitung der personenbezogenen Daten aus der Eingabemaske dient uns allein zur Bearbeitung der Kontaktaufnahme. Im Falle einer Kontaktaufnahme per E-Mail liegt hieran auch das erforderliche berechtigte Interesse an der Verarbeitung der Daten. Die sonstigen während des Absendevorgangs verarbeiteten personenbezogenen Daten dienen dazu, einen Missbrauch des Kontaktformulars zu verhindern und die Sicherheit unserer informationstechnischen Systeme sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Für die personenbezogenen Daten aus der Eingabemaske des Kontaktformulars und diejenigen, die per E-Mail übersandt wurden, ist dies dann der Fall, wenn die jeweilige Konversation mit dem Nutzer beendet ist.&lt;br /&gt;
&lt;br /&gt;
Beendet ist die Konversation dann, wenn sich aus den Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist.&lt;br /&gt;
&lt;br /&gt;
AUSKUNFT, BERICHTIGUNG UND LÖSCHUNG&lt;br /&gt;
&lt;br /&gt;
Sie als Nutzer erhalten auf Antrag Ihrerseits kostenlose Auskunft darüber, welche personenbezogenen Daten über Sie gespeichert wurden. Sofern Ihr Wunsch nicht mit einer gesetzlichen Pflicht zur Aufbewahrung von Daten (z. B. Vorratsdatenspeicherung) kollidiert, haben Sie ein Anrecht auf Berichtigung falscher Daten und auf die Sperrung oder Löschung Ihrer personenbezogenen Daten.&lt;br /&gt;
&lt;br /&gt;
== Assistent Entwurf ==&lt;br /&gt;
https://www.ldi.nrw.de/mainmenu_Datenschutz/submenu_Datenschutzbeauftragte/Inhalt/Betriebliche_Datenschutzbeauftragte/Inhalt/Check/Check.php&lt;br /&gt;
&lt;br /&gt;
=== Check ===&lt;br /&gt;
&lt;br /&gt;
== Zusatzinfos ==&lt;br /&gt;
=== Was sind personenbezogene Daten ? ===&lt;br /&gt;
&lt;br /&gt;
== Anschreiben Textblöcke ==&lt;br /&gt;
=== Haftungsausschluss ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hinweis zu Datenschutz und Impressumsrelevanten Texten&lt;br /&gt;
Stephan Schlegel Geo-bit Reutlingen kann und darf keine Rechtsberatung geben.&lt;br /&gt;
Wir sind keine Anwaltskanzlei, sondern eine Webagentur. Deshalb dürfen wir keine Rechtsberatung leisten. &lt;br /&gt;
Gerne versorgen wir Sie mit Informationen, z.B. im Zusammenhang mit der Datenschutz-Grundverordnung oder der Impressumspflicht, die für Sie als Website-Betreiber relevant sind. Auf Ihren Wunsch erstellen wir gerne auch Inhalte für den Datenschutz-Hinweis oder das Impressum, die nach unserem Kenntnisstand und unserer Erfahrung erforderlich und ausreichend sind. Sie sind jedoch letztendlich allein für den Inhalt ihrer Website verantwortlich. Für rechtssichere Aussagen und konforme Texte sollten Sie sich daher an legitimierte Anbieter für Rechtsberatung wenden.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mustertexte einfache Sprache ==&lt;br /&gt;
TODO&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_OptIn_Skripte_entwickeln&amp;diff=23319</id>
		<title>Datenschutz - OptIn Skripte entwickeln</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_OptIn_Skripte_entwickeln&amp;diff=23319"/>
		<updated>2018-09-17T20:13:40Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.dair-media.net/blog/2018/05/google-analytics-mit-optin-implementieren/&lt;br /&gt;
&lt;br /&gt;
DSGVO: Google Analytics mit Opt-In implementieren&lt;br /&gt;
11. Mai 2018 von Alexander Gut&lt;br /&gt;
&lt;br /&gt;
Im Rahmen der Vorbereitung auf die DSGVO beschäftigen sich viele Webseitbetreiber mit der Frage, ob sie für Web Analyse Tools wie Google Analytics ein „Opt-Out“ oder ein „Opt-In“ benötigen. Die rechtliche Seite dieser Frage überlasse ich den Juristen. An dieser Stelle möchte ich eine technische Lösung vorstellen, wie Sie Google Analytics mit Opt-In implementieren können. Einen praktischen Überblick über die DSGVO sowie eine Checkliste für die eigene Website finden Sie zum Beispiel bei den Kollegen von AdBox24.&lt;br /&gt;
&lt;br /&gt;
Update: Einen interessanten Beitrag zum Thema Opt-In-Pflicht für Cookies gibt es zum Beispiel beim RA Dr. Thomas Schwenke unter https://drschwenke.de/dsgvo-tracking-cookies-online-marketing-gluecksspiel/.&lt;br /&gt;
Grundidee&lt;br /&gt;
&lt;br /&gt;
Bei einem „Opt-Out“ können die Website-Besucher nachträglich sich dafür entscheiden, dass sie nicht „getrackt“ werden wollen. Bei einem „Opt-In“ soll das Tracking gar nicht erst erfolgen, bis die Nutzer dies explizit eingewilligt haben. Das heißt also, dass kein Tracking-Code und auch kein anderer Code vom verwendeten Tracking-Tool geladen werden darf, solange der Nutzer dies nicht erlaubt hat. Die Lösung sieht also folgendermaßen aus:&lt;br /&gt;
&lt;br /&gt;
    Lade generell kein Tracking-Code (in diesem Fall: Google Analytics) auf der Website.&lt;br /&gt;
    Ermögliche dem Nutzer, das Tracking mit Google Analytics explizit zu erlauben.&lt;br /&gt;
    Lade dann dynamisch den Analytics-Code nach.&lt;br /&gt;
    Stelle sicher, dass auch bei allen weiteren Seitenaufrufen der Analytics-Code nur dann geladen wird, wenn die Erlaubnis vom Nutzer noch besteht.&lt;br /&gt;
    Im Sinne von DSGVO gib dem Nutzer die Möglichkeit, seine Erlaubnis („Einwilligung“) für da Tracking zu widerrufen.&lt;br /&gt;
&lt;br /&gt;
Schauen wir im Folgenden die Technik hinter diesen Schritt im Einzelnen an. Dabei betrachten wir vor allem die Umsetzung für Google Analytics. Doch auch andere Tools wie der Google Tag Manager (GTM) lassen sich damit ähnlich steuern. Wir schauen auch die Lösung für den GTM an. Und auch die „Do-Not-Track“ Anweisung vom Webbrowser kann auf diese berücksichtigt werden.&lt;br /&gt;
&lt;br /&gt;
Bonus: zum Schluss schauen wir, wie diese Lösung auch ohne Plugins in WordPress eingebaut werden kann.&lt;br /&gt;
Schritt 1: Kein Tracking-Code ohne Einwilligung&lt;br /&gt;
&lt;br /&gt;
Dieser Schritt ist recht einfach: Wir sollen einfach keinen Tracking-Code einbauen. Dieser soll erst bei Vorliegen einer Einwilligung durch den Website-Besucher dynamisch geladen werden. Wie genau dies funktioniert schauen wir in den Schritten 3 und 4 an.&lt;br /&gt;
Schritt 2: Hole ein „Opt-In“ vom Nutzer ein&lt;br /&gt;
&lt;br /&gt;
Das beliebte Cookie Consent Script von insites.com (früher bekannt als „Cookie Consent von Silktide“) bietet auch eine Möglichkeit, Opt-in zu erstellen. Diese Variante setzen wir in dieser Lösung auch ein.&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, dass der Script nur einen Cookie setzt, der das „Einverständnis“ des Nutzers speichert. Ob dies rechtlich auch als eine „Einwilligung“ einzusehen ist, ist zumindest fraglich. Zudem ist es für Website-Betreiber schwierig nachzuweisen, dass und wann ein Nutzer das Cookie-Banner bestätigt hat. Um ganz sicher zu sein, müsste die Lösung also ggf. noch erweitert werden. Wir bleiben bei der einfachen Version.&lt;br /&gt;
&lt;br /&gt;
Der „Cookie Consent“ kann auf https://cookieconsent.insites.com/download/ direkt heruntergeladen werden. Sie haben gleich die Möglichkeit, das Aussehen der Cookie-Leiste und die Texte anzupassen. Wählen sie auf jeden Fall bei „5. Complience Type“ die Variaten „Ask users to opt into cookies (Advanced)”. Der Generator auf der Download-Seite erzeugt gleich den Aufruf-Code. Hierzu sind zwei Punkte zu beachten:&lt;br /&gt;
&lt;br /&gt;
    Den Hinweis, dass wir erweiterte Optionen für den Opt-In umsetzen müssen gehen wir in diesem Beitrag im Schritt 5 an.&lt;br /&gt;
    Ich rate den Quellcode des „Cookie Consent“ unter https://github.com/insites/cookieconsent/ herunterzuladen, um den Basis-JavaScript und die CSS lokal abzulegen, statt diese von Cloudfire-CDN abzurufen (was weitere Datenschutz-rechtliche Fragen aufwerfen kann).&lt;br /&gt;
&lt;br /&gt;
Hier ist der Aufruf-Code inklusive eines Beispiel-Textes auf Deutsch im „Classic“-Design:&lt;br /&gt;
JavaScript&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;/PFAD-ZU/cookieconsent.min.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;/PFAD-ZU/cookieconsent.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
window.addEventListener(&amp;quot;load&amp;quot;, function(){&lt;br /&gt;
	window.cookieconsent.initialise({&lt;br /&gt;
		&amp;quot;palette&amp;quot;: {&lt;br /&gt;
			&amp;quot;popup&amp;quot;: { &amp;quot;background&amp;quot;: &amp;quot;#000&amp;quot;},&lt;br /&gt;
			&amp;quot;button&amp;quot;: { &amp;quot;background&amp;quot;: &amp;quot;#f1d600&amp;quot;}&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;theme&amp;quot;: &amp;quot;classic&amp;quot;,&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;opt-in&amp;quot;,&lt;br /&gt;
		&amp;quot;content&amp;quot;: {&lt;br /&gt;
			&amp;quot;message&amp;quot;: &amp;quot;Wir nutzen Cookies und Google Analytics, um diese Website für Sie so interessant wie möglich zu gestalten. Sind Sie damit einverstanden? (Sie können diese Entscheidung jederzeit widerrufen)&amp;quot;,&lt;br /&gt;
			&amp;quot;dismiss&amp;quot;: &amp;quot;Ablehnen&amp;quot;,&lt;br /&gt;
			&amp;quot;allow&amp;quot;: &amp;quot;OK, gerne!&amp;quot;,&lt;br /&gt;
			&amp;quot;link&amp;quot;: &amp;quot;Datenschutzerklärung&amp;quot;,&lt;br /&gt;
			&amp;quot;href&amp;quot;: &amp;quot;www.IhreDomain.de/datenschutz.html&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	})&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
5&lt;br /&gt;
6&lt;br /&gt;
7&lt;br /&gt;
8&lt;br /&gt;
9&lt;br /&gt;
10&lt;br /&gt;
11&lt;br /&gt;
12&lt;br /&gt;
13&lt;br /&gt;
14&lt;br /&gt;
15&lt;br /&gt;
16&lt;br /&gt;
17&lt;br /&gt;
18&lt;br /&gt;
19&lt;br /&gt;
20&lt;br /&gt;
21&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;/PFAD-ZU/cookieconsent.min.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;/PFAD-ZU/cookieconsent.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
window.addEventListener(&amp;quot;load&amp;quot;, function(){&lt;br /&gt;
	window.cookieconsent.initialise({&lt;br /&gt;
		&amp;quot;palette&amp;quot;: {&lt;br /&gt;
			&amp;quot;popup&amp;quot;: { &amp;quot;background&amp;quot;: &amp;quot;#000&amp;quot;},&lt;br /&gt;
			&amp;quot;button&amp;quot;: { &amp;quot;background&amp;quot;: &amp;quot;#f1d600&amp;quot;}&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;theme&amp;quot;: &amp;quot;classic&amp;quot;,&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;opt-in&amp;quot;,&lt;br /&gt;
		&amp;quot;content&amp;quot;: {&lt;br /&gt;
			&amp;quot;message&amp;quot;: &amp;quot;Wir nutzen Cookies und Google Analytics, um diese Website für Sie so interessant wie möglich zu gestalten. Sind Sie damit einverstanden? (Sie können diese Entscheidung jederzeit widerrufen)&amp;quot;,&lt;br /&gt;
			&amp;quot;dismiss&amp;quot;: &amp;quot;Ablehnen&amp;quot;,&lt;br /&gt;
			&amp;quot;allow&amp;quot;: &amp;quot;OK, gerne!&amp;quot;,&lt;br /&gt;
			&amp;quot;link&amp;quot;: &amp;quot;Datenschutzerklärung&amp;quot;,&lt;br /&gt;
			&amp;quot;href&amp;quot;: &amp;quot;www.IhreDomain.de/datenschutz.html&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	})&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Passen Sie auf jeden Fall den Pfad zu den .js und .css Dateien. Sie können diesen Code entweder vor dem schließenden &amp;lt;/head&amp;gt; Tag oder  auch vor dem &amp;lt;/body&amp;gt; Tag einfügen.&lt;br /&gt;
&lt;br /&gt;
Weitere Anpassungen betrachten wir, wie gesagt, im Schritt 5.&lt;br /&gt;
Schritt 3: Analytics-Code dynamisch nachladen&lt;br /&gt;
&lt;br /&gt;
Nun geht es darum, Google Analytics Tracking Code (GATC) dynamisch innerhalb einer JavaScript Funktion zu laden. Nachfolgende Lösung basiert darauf, dass Sie Universal Analytics mit analytics.js verwenden. Google bietet auf seiner Developer-Website eine Alternative Version des Codes, die asynchron aufgerufen werden kann. Diese modifizieren wir ein wenig und ergänzen natürlich um den „anonymizeIp“ Aufruf:&lt;br /&gt;
JavaScript&lt;br /&gt;
function loadGAonConsent(){&lt;br /&gt;
  window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;&lt;br /&gt;
  ga(&amp;#039;create&amp;#039;, &amp;#039;UA-XXXXX-X&amp;#039;, &amp;#039;auto&amp;#039;);&lt;br /&gt;
  ga(&amp;#039;set&amp;#039;, &amp;#039;anonymizeIp&amp;#039;, true);&lt;br /&gt;
  ga(&amp;#039;send&amp;#039;, &amp;#039;pageview&amp;#039;);&lt;br /&gt;
  var gascript = document.createElement(&amp;quot;script&amp;quot;);&lt;br /&gt;
  gascript.async = true;&lt;br /&gt;
  gascript.src = &amp;quot;https://www.google-analytics.com/analytics.js&amp;quot;;&lt;br /&gt;
  document.getElementsByTagName(&amp;quot;head&amp;quot;)[0].appendChild(gascript, document.getElementsByTagName(&amp;quot;head&amp;quot;)[0]);               &lt;br /&gt;
}&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
5&lt;br /&gt;
6&lt;br /&gt;
7&lt;br /&gt;
8&lt;br /&gt;
9&lt;br /&gt;
10&lt;br /&gt;
	&lt;br /&gt;
function loadGAonConsent(){&lt;br /&gt;
  window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;&lt;br /&gt;
  ga(&amp;#039;create&amp;#039;, &amp;#039;UA-XXXXX-X&amp;#039;, &amp;#039;auto&amp;#039;);&lt;br /&gt;
  ga(&amp;#039;set&amp;#039;, &amp;#039;anonymizeIp&amp;#039;, true);&lt;br /&gt;
  ga(&amp;#039;send&amp;#039;, &amp;#039;pageview&amp;#039;);&lt;br /&gt;
  var gascript = document.createElement(&amp;quot;script&amp;quot;);&lt;br /&gt;
  gascript.async = true;&lt;br /&gt;
  gascript.src = &amp;quot;https://www.google-analytics.com/analytics.js&amp;quot;;&lt;br /&gt;
  document.getElementsByTagName(&amp;quot;head&amp;quot;)[0].appendChild(gascript, document.getElementsByTagName(&amp;quot;head&amp;quot;)[0]);               &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Nun können wir Google Analytics bei Bedarf bzw. nur bei einer Einwilligung ausführen, indem wir die Funktion loadGAonConsent(); aufrufen. Schauen wir im nächsten Schritt an, wie wir das machen bei einer Einwilligung (engl.: „consent“) machen können.&lt;br /&gt;
Schritt 4: Analytics-Code auf allen Seiten laden&lt;br /&gt;
&lt;br /&gt;
Liegt eine Einwilligung des Nutzers vor, können wir den Tracking-Code natürlich auf allen Seiten direkt laden. Dazu müssen wir zuerst überprüfen, ob die Einwilligung vorliegt und dann den Analytics Code laden. Wir erweitern also die bisherige Lösung wie folgt.&lt;br /&gt;
&lt;br /&gt;
Der „Cookie Consent“ Script speichert in einem Cookie („cookieconsent_status“), wofür sich der Website-Besucher entschieden hat. Für die Opt-In Variante gibt es drei Möglichkeiten: Der Nutzer hat sich noch nicht entschieden (kein Cookie), der Nutzer hat die Cookies abgelehnt (Cookie-Wert: „deny“) oder der Nutzer das eingewilligt (Cookie-Wert: „allow“). Nur im letzten Fall dürfen wir den Google Analytics Code auch ausführen. Wir prüfen also, ob der Cookie gesetzt und den richtigen Wert hat und rufen den GATC nur dann auf:&lt;br /&gt;
JavaScript&lt;br /&gt;
if (document.cookie.split(&amp;#039;;&amp;#039;).filter(function(item) {&lt;br /&gt;
    return item.indexOf(&amp;#039;cookieconsent_status=allow&amp;#039;) &amp;gt;= 0&lt;br /&gt;
}).length) {&lt;br /&gt;
    loadGAonConsent();&lt;br /&gt;
}&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
5&lt;br /&gt;
	&lt;br /&gt;
if (document.cookie.split(&amp;#039;;&amp;#039;).filter(function(item) {&lt;br /&gt;
    return item.indexOf(&amp;#039;cookieconsent_status=allow&amp;#039;) &amp;gt;= 0&lt;br /&gt;
}).length) {&lt;br /&gt;
    loadGAonConsent();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Schritt 5: GATC bei Einwilligung laden&lt;br /&gt;
&lt;br /&gt;
Hat der Nutzer seine Einwilligung erteilt, kann der Analytics-Code ja direkt nachgeladen werden. Genau hier kommen die erweiterten Funktionen des Cookie-Consent Scripts ins Spiel. Die einfachste Lösung wäre, den Aufruf-Code um folgende Konfiguration zu erweitern:&lt;br /&gt;
JavaScript&lt;br /&gt;
onStatusChange: function(status, chosenBefore) {&lt;br /&gt;
	var type = this.options.type;&lt;br /&gt;
	var didConsent = this.hasConsented();&lt;br /&gt;
	if (type == &amp;#039;opt-in&amp;#039; &amp;amp;&amp;amp; didConsent) {&lt;br /&gt;
		// enable cookies&lt;br /&gt;
		loadGAonConsent();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
5&lt;br /&gt;
6&lt;br /&gt;
7&lt;br /&gt;
8&lt;br /&gt;
	&lt;br /&gt;
onStatusChange: function(status, chosenBefore) {&lt;br /&gt;
	var type = this.options.type;&lt;br /&gt;
	var didConsent = this.hasConsented();&lt;br /&gt;
	if (type == &amp;#039;opt-in&amp;#039; &amp;amp;&amp;amp; didConsent) {&lt;br /&gt;
		// enable cookies&lt;br /&gt;
		loadGAonConsent();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Damit wird der Google Analytics nachgeladen und direkt ein „PageView“ erfasst. Weitere Möglichkeiten (auch für einen Opt-Out), finden Sie in der Dokumentation des Cookie Consent Scripts unter https://cookieconsent.insites.com/documentation/disabling-cookies/.&lt;br /&gt;
Schritt 6: Der komplette Code&lt;br /&gt;
&lt;br /&gt;
Die finden Sie den kompletten Code der Lösung. Bitte achten Sie darauf, die Google Analytics ID durch Ihre eigene zu ersetzen.&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;/PFAD-ZU/cookieconsent.min.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;/PFAD-ZU/cookieconsent.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
function loadGAonConsent(){&lt;br /&gt;
  window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;&lt;br /&gt;
  ga(&amp;#039;create&amp;#039;, &amp;#039;UA-XXXXX-X&amp;#039;, &amp;#039;auto&amp;#039;);&lt;br /&gt;
  ga(&amp;#039;set&amp;#039;, &amp;#039;anonymizeIp&amp;#039;, true);&lt;br /&gt;
  ga(&amp;#039;send&amp;#039;, &amp;#039;pageview&amp;#039;);&lt;br /&gt;
  var gascript = document.createElement(&amp;quot;script&amp;quot;);&lt;br /&gt;
  gascript.async = true;&lt;br /&gt;
  gascript.src = &amp;quot;https://www.google-analytics.com/analytics.js&amp;quot;;&lt;br /&gt;
  document.getElementsByTagName(&amp;quot;head&amp;quot;)[0].appendChild(gascript, document.getElementsByTagName(&amp;quot;head&amp;quot;)[0]);               &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (document.cookie.split(&amp;#039;;&amp;#039;).filter(function(item) {&lt;br /&gt;
    return item.indexOf(&amp;#039;cookieconsent_status=allow&amp;#039;) &amp;gt;= 0&lt;br /&gt;
}).length) {&lt;br /&gt;
    loadGAonConsent();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
window.addEventListener(&amp;quot;load&amp;quot;, function(){&lt;br /&gt;
	window.cookieconsent.initialise({&lt;br /&gt;
		&amp;quot;palette&amp;quot;: {&lt;br /&gt;
			&amp;quot;popup&amp;quot;: { &amp;quot;background&amp;quot;: &amp;quot;#000&amp;quot;},&lt;br /&gt;
			&amp;quot;button&amp;quot;: { &amp;quot;background&amp;quot;: &amp;quot;#f1d600&amp;quot;}&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;theme&amp;quot;: &amp;quot;classic&amp;quot;,&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;opt-in&amp;quot;,&lt;br /&gt;
		&amp;quot;content&amp;quot;: {&lt;br /&gt;
			&amp;quot;message&amp;quot;: &amp;quot;Wir nutzen Cookies und Google Analytics, um diese Website für Sie so interessant wie möglich zu gestalten. Sind Sie damit einverstanden? (Sie können diese Entscheidung jederzeit widerrufen)&amp;quot;,&lt;br /&gt;
			&amp;quot;dismiss&amp;quot;: &amp;quot;Ablehnen&amp;quot;,&lt;br /&gt;
			&amp;quot;allow&amp;quot;: &amp;quot;OK, gerne!&amp;quot;,&lt;br /&gt;
			&amp;quot;link&amp;quot;: &amp;quot;Datenschutzerklärung&amp;quot;,&lt;br /&gt;
			&amp;quot;href&amp;quot;: &amp;quot;www.IhreDomain.de/datenschutz.html&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		onStatusChange: function(status, chosenBefore) {&lt;br /&gt;
			var type = this.options.type;&lt;br /&gt;
			var didConsent = this.hasConsented();&lt;br /&gt;
			if (type == &amp;#039;opt-in&amp;#039; &amp;amp;&amp;amp; didConsent) {&lt;br /&gt;
				// enable cookies&lt;br /&gt;
				loadGAonConsent();&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	})&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
5&lt;br /&gt;
6&lt;br /&gt;
7&lt;br /&gt;
8&lt;br /&gt;
9&lt;br /&gt;
10&lt;br /&gt;
11&lt;br /&gt;
12&lt;br /&gt;
13&lt;br /&gt;
14&lt;br /&gt;
15&lt;br /&gt;
16&lt;br /&gt;
17&lt;br /&gt;
18&lt;br /&gt;
19&lt;br /&gt;
20&lt;br /&gt;
21&lt;br /&gt;
22&lt;br /&gt;
23&lt;br /&gt;
24&lt;br /&gt;
25&lt;br /&gt;
26&lt;br /&gt;
27&lt;br /&gt;
28&lt;br /&gt;
29&lt;br /&gt;
30&lt;br /&gt;
31&lt;br /&gt;
32&lt;br /&gt;
33&lt;br /&gt;
34&lt;br /&gt;
35&lt;br /&gt;
36&lt;br /&gt;
37&lt;br /&gt;
38&lt;br /&gt;
39&lt;br /&gt;
40&lt;br /&gt;
41&lt;br /&gt;
42&lt;br /&gt;
43&lt;br /&gt;
44&lt;br /&gt;
45&lt;br /&gt;
46&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;/PFAD-ZU/cookieconsent.min.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;/PFAD-ZU/cookieconsent.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
function loadGAonConsent(){&lt;br /&gt;
  window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;&lt;br /&gt;
  ga(&amp;#039;create&amp;#039;, &amp;#039;UA-XXXXX-X&amp;#039;, &amp;#039;auto&amp;#039;);&lt;br /&gt;
  ga(&amp;#039;set&amp;#039;, &amp;#039;anonymizeIp&amp;#039;, true);&lt;br /&gt;
  ga(&amp;#039;send&amp;#039;, &amp;#039;pageview&amp;#039;);&lt;br /&gt;
  var gascript = document.createElement(&amp;quot;script&amp;quot;);&lt;br /&gt;
  gascript.async = true;&lt;br /&gt;
  gascript.src = &amp;quot;https://www.google-analytics.com/analytics.js&amp;quot;;&lt;br /&gt;
  document.getElementsByTagName(&amp;quot;head&amp;quot;)[0].appendChild(gascript, document.getElementsByTagName(&amp;quot;head&amp;quot;)[0]);               &lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
if (document.cookie.split(&amp;#039;;&amp;#039;).filter(function(item) {&lt;br /&gt;
    return item.indexOf(&amp;#039;cookieconsent_status=allow&amp;#039;) &amp;gt;= 0&lt;br /&gt;
}).length) {&lt;br /&gt;
    loadGAonConsent();&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
window.addEventListener(&amp;quot;load&amp;quot;, function(){&lt;br /&gt;
	window.cookieconsent.initialise({&lt;br /&gt;
		&amp;quot;palette&amp;quot;: {&lt;br /&gt;
			&amp;quot;popup&amp;quot;: { &amp;quot;background&amp;quot;: &amp;quot;#000&amp;quot;},&lt;br /&gt;
			&amp;quot;button&amp;quot;: { &amp;quot;background&amp;quot;: &amp;quot;#f1d600&amp;quot;}&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;theme&amp;quot;: &amp;quot;classic&amp;quot;,&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;opt-in&amp;quot;,&lt;br /&gt;
		&amp;quot;content&amp;quot;: {&lt;br /&gt;
			&amp;quot;message&amp;quot;: &amp;quot;Wir nutzen Cookies und Google Analytics, um diese Website für Sie so interessant wie möglich zu gestalten. Sind Sie damit einverstanden? (Sie können diese Entscheidung jederzeit widerrufen)&amp;quot;,&lt;br /&gt;
			&amp;quot;dismiss&amp;quot;: &amp;quot;Ablehnen&amp;quot;,&lt;br /&gt;
			&amp;quot;allow&amp;quot;: &amp;quot;OK, gerne!&amp;quot;,&lt;br /&gt;
			&amp;quot;link&amp;quot;: &amp;quot;Datenschutzerklärung&amp;quot;,&lt;br /&gt;
			&amp;quot;href&amp;quot;: &amp;quot;www.IhreDomain.de/datenschutz.html&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		onStatusChange: function(status, chosenBefore) {&lt;br /&gt;
			var type = this.options.type;&lt;br /&gt;
			var didConsent = this.hasConsented();&lt;br /&gt;
			if (type == &amp;#039;opt-in&amp;#039; &amp;amp;&amp;amp; didConsent) {&lt;br /&gt;
				// enable cookies&lt;br /&gt;
				loadGAonConsent();&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	})&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ergänzung: Do-Not-Track Einstellung berücksichtigen&lt;br /&gt;
&lt;br /&gt;
Sendet der Webbrowser eines Website-Besuchers den „Do Not Track“ (DNT) Header, muss dieser natürlich auch beachtet werden. Eine reine JavaScript-Lösung könnte zum Beispiel so aussehen:&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
if (navigator.doNotTrack != 1 &amp;amp;&amp;amp; navigator.doNotTrack != &amp;quot;yes&amp;quot; &amp;amp;&amp;amp; window.doNotTrack != 1 &amp;amp;&amp;amp; navigator.msDoNotTrack != 1) {&lt;br /&gt;
	// DNT is off&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
5&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
if (navigator.doNotTrack != 1 &amp;amp;&amp;amp; navigator.doNotTrack != &amp;quot;yes&amp;quot; &amp;amp;&amp;amp; window.doNotTrack != 1 &amp;amp;&amp;amp; navigator.msDoNotTrack != 1) {&lt;br /&gt;
	// DNT is off&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit müssen die die Abfrage des Einwilligungs-Cookie im Schritt 4 erweitern und den Analytics Code nur dann per loadGAonConsent(); laden, wenn sowohl der Cookie gesetzt als auch DNT nicht gesetzt ist.&lt;br /&gt;
Fazit&lt;br /&gt;
&lt;br /&gt;
Mit dem “Cookie Consent” Script für die Darstellung des Cookie-Banners und wenigen Zeilen Code lässt sich also recht einfach eine Opt-In Lösung für den Google Anayltics Tracking Code (GATC) bauen. Zu beachten ist dabei, dass hier nur eine Basis-Implementierung des Tracking-Codes vorgestellt wurde. Erweiterte Funktionen, wie zum Beispiel Event-Tracking, müssen entsprechend angepasst werden. Sie dürfen nur dann ausgeführt werden, wenn der GATC auch geladen wurde.&lt;br /&gt;
&lt;br /&gt;
Auch eine PHP-Lösung für Aufruf des Tracking-Codes ist möglich. Hier muss nur der Cookie-Wert ausgelesen werden.&lt;br /&gt;
Bonus: Implementierung in WordPress&lt;br /&gt;
&lt;br /&gt;
Um die Lösung in eine WordPress Installation einzufügen, müssen nur entsprechende Skripte und die CSS-Datei von „Cookie Consent“ in das verwendete Theme eingefügt werden. Die CSS lässt sich meisten über den Theme-Editor hinzufügen. Für die JavaScripts empfehle ich den Plugin Insert Headers and Footers. Damit lassen sich eigene Scripts (und nicht nur) in den Head-Bereich sowie im unteren Bereich im Body-Tag der Website einfügen.&lt;br /&gt;
&amp;quot;Insert Headers and Footers&amp;quot; Plugin Screenshot&lt;br /&gt;
„Insert Headers and Footers“ Plugin&lt;br /&gt;
&lt;br /&gt;
Natürlich gibt es auch mehrere WP-Plugins, die diese Implementierung auch etwas einfacher machen, zum Beispiel das Google Analytics Germanized.&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_OptIn_Skripte_entwickeln&amp;diff=23318</id>
		<title>Datenschutz - OptIn Skripte entwickeln</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_OptIn_Skripte_entwickeln&amp;diff=23318"/>
		<updated>2018-09-17T20:12:45Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: Die Seite wurde neu angelegt: „https://www.dair-media.net/blog/2018/05/google-analytics-mit-optin-implementieren/“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.dair-media.net/blog/2018/05/google-analytics-mit-optin-implementieren/&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Datenschutz&amp;diff=23317</id>
		<title>Datenschutz</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Datenschutz&amp;diff=23317"/>
		<updated>2018-09-17T20:12:38Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;General Data Protection Regulation der EU (GDPR; in Deutschland eher als Datenschutz-Grundverordnung DS-GVO bekannt)&lt;br /&gt;
&lt;br /&gt;
Siehe auch&lt;br /&gt;
&lt;br /&gt;
[[Recht im Internet]]&lt;br /&gt;
&lt;br /&gt;
[[Recht - Datenschutz im Internet]]&lt;br /&gt;
&lt;br /&gt;
[[Recht - Datenschutz]]&lt;br /&gt;
&lt;br /&gt;
[[Datenschutz - Mustertexte]]&lt;br /&gt;
&lt;br /&gt;
[[Datenschutz - Wordpress]]&lt;br /&gt;
&lt;br /&gt;
[[Datenschutz - iFrames]]&lt;br /&gt;
&lt;br /&gt;
[[Datenschutz - OptIn Skripte entwickeln]]&lt;br /&gt;
== Links ==&lt;br /&gt;
* https://www.baden-wuerttemberg.datenschutz.de/&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte&amp;diff=23316</id>
		<title>Datenschutz - Mustertexte</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte&amp;diff=23316"/>
		<updated>2018-09-17T19:29:34Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* OpenStreetMaps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Todos ==&lt;br /&gt;
Text f. Bewerbung&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Schön wäre ein Datenschutzhinweis der kurz und Verständlich formuliert ist und eine ausführliche Datenschutzerklärung&lt;br /&gt;
&lt;br /&gt;
== Checkliste - Einzelvorgänge ==&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
==== Verantwortlicher ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NAME UND ANSCHRIFT DES VERANTWORTLICHEN&lt;br /&gt;
Der Verantwortliche im Sinne der Datenschutz-Grundverordnung und anderer nationaler Datenschutzgesetze der Mitgliedsstaaten sowie sonstiger datenschutzrechtlicher Bestimmungen ist:&lt;br /&gt;
&lt;br /&gt;
Musterfirma&lt;br /&gt;
Musterstraße 1&lt;br /&gt;
12345 Musterstadt&lt;br /&gt;
Deutschland&lt;br /&gt;
Tel.: Telefonnummer&lt;br /&gt;
E-Mail: muster@e-mail.de&lt;br /&gt;
Website: www.musterwebsite.de&lt;br /&gt;
&lt;br /&gt;
DATENSCHUTZBEAUFTRAGTER&lt;br /&gt;
&lt;br /&gt;
Der Datenschutzbeauftragte des Verantwortlichen ist:&lt;br /&gt;
&lt;br /&gt;
Max Mustermann &lt;br /&gt;
Musterunternehmen (wenn extern)&lt;br /&gt;
Musterstraße 1&lt;br /&gt;
12345 Musterstadt&lt;br /&gt;
Deutschland&lt;br /&gt;
Tel.: Telefonnummer&lt;br /&gt;
E-Mail: max.mustermann@e-mail.de&lt;br /&gt;
Website: www.musterwebsite.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sie können diese Website in der Regel ohne Angabe personenbezogener Daten nutzen. Soweit wir personenbezogene Daten erfassen (z.B. wenn Sie mit uns in Kontakt treten möchten), erfolgt dies stets gemäß den gesetzlichen Datenschutzvorschriften, sowie dieser Datenschutzerklärung. Ohne ausdrückliche Zustimmung werden Ihre Daten niemals an Dritte weitergegeben.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Verschlüsselte Datenübertragung ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
VERSCHLÜSSELTE DATENÜBERTRAGUNG&lt;br /&gt;
&lt;br /&gt;
Auf allen Seiten unseres Internetangebots, auf denen Sie persönliche Daten eingeben - so z. B. in unserem Kontaktformular, werden Ihre Daten direkt bei der Übertragung verschlüsselt. Alle datenschutzrelevanten Informationen (wie Name und Adresse) werden geschützt gespeichert.&lt;br /&gt;
Wir möchten Sie darauf hinweisen, dass die Datenübertragung im Internet (z .B. wenn Sie uns eine E-Mail schreiben) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist generell nicht möglich.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Umfang der Verarbeitung ====&lt;br /&gt;
Quelle Uni Münster (überarbeitet)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UMFANG DER VERARBEITUNG PERSONENBEZOGENER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir verarbeiten personenbezogene Daten unserer Nutzer grundsätzlich nur, soweit dies für die Funktion der Website und die Bereitstellung der Inhalte und angebotenen Leistungen erforderlich ist. Die Verarbeitung personenbezogener Daten unserer Nutzer erfolgt regelmäßig nur nach Einwilligung des Nutzers. Ausnahmen gelten, wenn eine vorherige Einholung einer Einwilligung aus tatsächlichen Gründen nicht möglich ist und die Verarbeitung der Daten durch gesetzliche Vorschriften gestattet ist. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Rechtsgrundlage der Verarbeitung====&lt;br /&gt;
Quelle Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RECHTSGRUNDLAGE FÜR DIE VERARBEITUNG PERSONENBEZOGENER DATEN&lt;br /&gt;
&lt;br /&gt;
Soweit wir für Verarbeitungsvorgänge personenbezogener Daten eine Einwilligung der betroffenen Person einholen, dient Art. 6 Abs. 1 lit. a EU-Datenschutzgrundverordnung (DS-GVO) als Rechtsgrundlage.&lt;br /&gt;
Bei der Verarbeitung von personenbezogenen Daten, die zur Erfüllung eines Vertrages, dessen Vertragspartei die betroffene Person ist, erforderlich ist, dient Art. 6 Abs. 1 lit. b DS-GVO als Rechtsgrundlage. Dies gilt auch für Verarbeitungsvorgänge, die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind.&lt;br /&gt;
Soweit eine Verarbeitung personenbezogener Daten zur Erfüllung einer rechtlichen Verpflichtung erforderlich ist, der unser Unternehmen unterliegt, dient Art. 6 Abs. 1 lit. c DS-GVO als Rechtsgrundlage.&lt;br /&gt;
Für den Fall, dass lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person eine Verarbeitung personenbezogener Daten erforderlich machen, dient Art. 6 Abs. 1 lit. d DS-GVO als Rechtsgrundlage.&lt;br /&gt;
Ist die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich und überwiegen die Interessen, Grundrechte und Grundfreiheiten des Betroffenen das erstgenannte Interesse nicht, so dient Art. 6 Abs. 1 lit. f DS-GVO als Rechtsgrundlage für die Verarbeitung. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Datenlöschung und Speicherdauer ====&lt;br /&gt;
Quelle Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATENLÖSCHUNG UND SPEICHERDAUER&lt;br /&gt;
&lt;br /&gt;
Die personenbezogenen Daten der betroffenen Person werden gelöscht oder gesperrt, sobald der Zweck der Speicherung entfällt. Eine Speicherung kann darüber hinaus erfolgen, wenn dies durch den europäischen oder nationalen Gesetzgeber in unionsrechtlichen Verordnungen, Gesetzen oder sonstigen Vorschriften, denen der Verantwortliche unterliegt, vorgesehen wurde. Eine Sperrung oder Löschung der Daten erfolgt auch dann, wenn eine durch die genannten Normen vorgeschriebene Speicherfrist abläuft, es sei denn, dass eine Erforderlichkeit zur weiteren Speicherung der Daten für einen Vertragsabschluss oder eine Vertragserfüllung besteht.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bereitstellung der Website und Erstellung von Logfiles ===&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BEREITSTELLUNG DER WEBSITE UND ERSTELLUNG VON LOGFILES&lt;br /&gt;
&lt;br /&gt;
Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
Bei jedem Aufruf unserer Internetseite erfasst unser System automatisiert Daten und Informationen vom Computersystem des aufrufenden Rechners. &lt;br /&gt;
Folgende Daten werden hierbei erhoben:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dieser Teil ist entsprechend anzupassen. Nicht zutreffende Daten sind zu entfernen, fehlende zu ergänzen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Informationen über den Browsertyp und die verwendete Version&lt;br /&gt;
Das Betriebssystem des Nutzers&lt;br /&gt;
Den Internet-Service-Provider des Nutzers&lt;br /&gt;
Die IP-Adresse des Nutzers&lt;br /&gt;
Datum und Uhrzeit des Zugriffs&lt;br /&gt;
Websites, von denen das System des Nutzers auf unsere Internetseite gelangt &lt;br /&gt;
Websites, die vom System des Nutzers über unsere Website aufgerufen werden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Option 1: &amp;#039;&amp;#039;&amp;#039;Die Logfiles enthalten IP-Adressen&amp;#039;&amp;#039;&amp;#039; oder sonstige Daten, &amp;#039;&amp;#039;&amp;#039;die eine Zuordnung zu einem Nutzer ermöglichen&amp;#039;&amp;#039;&amp;#039;. Dies könnte beispielsweise der Fall sein, wenn der Link zur Website, von der der Nutzer auf die Internetseite gelangt, oder der Link zur Website, zu der der Nutzer wechselt, personenbezogene Daten enthält.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Option 2: Die &amp;#039;&amp;#039;&amp;#039;Logfiles enthalten keine IP-Adressen oder sonstigen Daten, die eine Zuordnung zu einem Nutzer ermöglichen&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. Nicht hiervon betroffen sind die IP-Adressen des Nutzers oder andere Daten, die die Zuordnung der Daten zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Option 3: anonymisierte Logfiles&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. IP-Adressen werden im Logfile  teilanonymisiert gespeichert, ihnen fehlt dadurch das Merkmal der Personenbezogenheit. Es werden keine Daten gespeichert, die eine Zuordnung der Daten zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&lt;br /&gt;
 Rechtsgrundlage für die vorübergehende Speicherung der Daten und der Logfiles ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Falls keine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&lt;br /&gt;
 Rechtsgrundlage für die vorübergehende Speicherung der Daten ist Art. 6 Abs. 1 lit. f DSGVO. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die vorübergehende Speicherung der IP-Adresse durch das System ist notwendig, um eine Auslieferung der Website an den Rechner des Nutzers zu ermöglichen. Hierfür muss die IP-Adresse des Nutzers für die Dauer der Sitzung gespeichert bleiben. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Speicherung in Logfiles erfolgt, um die Funktionsfähigkeit der Website sicherzustellen. Zudem dienen uns die Daten zur Optimierung der Website und zur Sicherstellung der Sicherheit unserer informationstechnischen Systeme. Eine Auswertung der Daten zu Marketingzwecken findet in diesem Zusammenhang nicht statt. &lt;br /&gt;
&lt;br /&gt;
In diesen Zwecken liegt auch unser berechtigtes Interesse an der Datenverarbeitung nach Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dauer der Speicherung&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Im Falle der Erfassung der Daten zur Bereitstellung der Website ist dies der Fall, wenn die jeweilige Sitzung beendet ist. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Im Falle der Speicherung der Daten in Logfiles ist dies nach spätestens sieben Tagen der Fall. Eine darüberhinausgehende Speicherung ist möglich. In diesem Fall werden die IP-Adressen der Nutzer gelöscht oder verfremdet, sodass eine Zuordnung des aufrufenden Clients nicht mehr möglich ist.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Die Erfassung der Daten zur Bereitstellung der Website und die Speicherung der Daten in Logfiles ist für den Betrieb der Internetseite zwingend erforderlich. Es besteht folglich seitens des Nutzers keine Widerspruchsmöglichkeit. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Erstellung von Zugriffsstatistik (Webalizer) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ERSTELLUNG DER ZUGRIFFSSTATISTIK&lt;br /&gt;
&lt;br /&gt;
Diese Website verwendet Webalizer.&lt;br /&gt;
Bei diesem Produkt handelt es sich um einen Web-Analyse-Dienst, der Daten über das Verhalten von Besuchern von Webseiten erhebt, sammelt und auswertet. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Webseite eine betroffene Person auf eine Webseite gekommen ist (wenn die Person zuvor einen Link geklickt hat), auf welche Unterseiten der Webseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde.&lt;br /&gt;
&lt;br /&gt;
Der Zweck der Verwendung ist die Auswertung der Nutzung von Webseiten zur Verbesserung des Angebots und der Bedienung. Durch die Auswertung kann in Erfahrung gebracht werden, wie die jeweilige Website genutzt wird und so das Angebot der Webseite stetig optimiert werden.&lt;br /&gt;
&lt;br /&gt;
Die auf diese Weise zu Analysezwecken erhoben Daten der Nutzer werden durch technische Vorkehrungen anonymisiert. Daher ist eine Zuordnung der Daten zum aufrufenden Nutzer nicht mehr möglich. Die Daten werden nicht gemeinsam mit sonstigen personenbezogenen Daten der Nutzer gespeichert.&lt;br /&gt;
&lt;br /&gt;
In diesen Zwecken liegt auch das berechtigte Interesse des Webseitenbetreibers in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1 Buchstabe f DSGVO. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Zeitlich unbegrenzt (bis zum manuellen Entfernen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Dienst speichert die von ihnen verarbeiteten Daten ohne zeitliche Begrenzung. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder (Default Einstellung all-inkl)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Dienst speichert die verarbeiteten Daten für 190 Tage.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Dients nutzt keine Cookies, sondern verarbeiten ausschließlich die Daten des Logfiles (siehe Erstellung von Logfiles). IP-Adressen werden im Logfile  teilanonymisiert gespeichert, ihnen fehlt darum das Merkmal der Personenbezogenheit.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cookies ===&lt;br /&gt;
https://accentikainternet.co.uk/article-details/article/make-your-typo3-website-cookie-compliant-with-eu-law.html (netter englischer text)&lt;br /&gt;
&lt;br /&gt;
==== Cookies Text ====&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
VERWENDUNG VON COOKIES&lt;br /&gt;
&lt;br /&gt;
Unsere Webseite verwendet Cookies. Bei Cookies handelt es sich um Textdateien, die im Internetbrowser bzw. vom Internetbrowser auf dem Computersystem des Nutzers gespeichert werden. Dieser Cookie enthält eine charakteristische Zeichenfolge. Dadurch können wir den Browser beim erneuten Aufrufen der Website wiedererkennen.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Verwendung technisch notwendiger Cookies erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Durch den Einsatz von Cookies können wir unsere Website nutzerfreundlicher gestalten. Einige Elemente unserer Internetseite erfordern es, dass der aufrufende Browser auch nach einem Seitenwechsel identifiziert werden kann. &lt;br /&gt;
Für folgende Zwecke nutzen wir Cookies:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es folgt eine Auflistung der gespeicherten Daten. Beispiele können sein:&lt;br /&gt;
* Merken von Spracheinstellungen&lt;br /&gt;
* Speichern von Artikel im Warenkorb&lt;br /&gt;
* Verwalten Log-In-Informationen&lt;br /&gt;
* Speichern von Benutzereinstellungen&lt;br /&gt;
* Verbesserung der Sicherheit&lt;br /&gt;
&lt;br /&gt;
Falls zudem eine Verwendung technisch nicht notwendiger Cookies erfolgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Wir verwenden auf unserer Website darüber hinaus Cookies, die eine Analyse des Surfverhaltens der Nutzer ermöglichen. &lt;br /&gt;
Auf diese Weise können folgende Daten übermittelt werden:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es folgt eine Auflistung der erhobenen Daten. Diese können beispielsweise sein:&lt;br /&gt;
* (1) Eingegebene Suchbegriffe&lt;br /&gt;
* (2) Häufigkeit von Seitenaufrufen&lt;br /&gt;
* (3) Inanspruchnahme von Website-Funktionen&lt;br /&gt;
&lt;br /&gt;
Bislang war es nach § 15 Abs. 3 TMG möglich, für technisch nicht notwendige Cookies eine Pseudonymisierung der verarbeiteten personenbezogenen Daten vorzunehmen und den Nutzer über die Verwendung der Cookies und sein Widerspruchs- und Beseitigungsrecht zu informieren („Opt-Out-Lösung“). Es ist jedoch in der juristischen Literatur umstritten, ob diese Norm auch nach Geltung der DSGVO weiter Anwendung findet. Im Zweifel muss daher davon ausgegangen werden, dass nunmehr allein die Vorschriften der DSGVO gelten. In diesem Fall ist allein auf Art. 6 Abs. 1 DSGVO abzustellen. Auch nach dieser Norm ist eine Fortführung der bisherigen Praxis denkbar, wenn auf ein „berechtigtes Interesse“ des Verarbeitenden nach Art. 6 Abs. 1 lit. f DSGVO abgestellt wird. Falls also vor dem Setzen und Abrufen der technisch nicht notwendigen Cookies keine Einwilligung des Nutzers eingeholt wird:&lt;br /&gt;
Die auf diese Weise erhobenen Daten der Nutzer werden durch technische Vorkehrungen pseudonymisiert. Daher ist eine Zuordnung der Daten zum aufrufenden Nutzer nicht mehr möglich. Die Daten werden nicht gemeinsam mit sonstigen personenbezogenen Daten der Nutzer gespeichert.&lt;br /&gt;
Beim Aufruf unserer Website werden die Nutzer durch einen Infobanner über die Verwendung von Cookies zu Analysezwecken informiert und auf diese Datenschutzerklärung verwiesen. Es erfolgt in diesem Zusammenhang auch ein Hinweis darauf, wie die Speicherung von Cookies in den Browsereinstellungen unterbunden werden kann.&lt;br /&gt;
Ob die bisherige Praxis der „Opt-Out-Lösung“ den Anforderungen des Art. 6 Abs. 1 lit. f DGVO gerecht wird, kann derzeit nicht mit Sicherheit gesagt werden. Klarheit könnte diesbezüglich die geplante E-Privacy-Verordnung bringen. Bis dahin besteht die rechtssicherste Lösung allerdings darin, eine vorherige Einwilligung des Nutzers einzuholen („Opt-In-Lösung“). &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Falls also vor dem Setzen und Abrufen der technisch nicht notwendigen Cookies eine Einwilligung des Nutzers eingeholt wird:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Beim Aufruf unserer Website wird der Nutzer über die Verwendung von Cookies zu Analysezwecken informiert und seine Einwilligung zur Verarbeitung der in diesem Zusammenhang verwendeten personenbezogenen Daten eingeholt. In diesem Zusammenhang erfolgt auch ein Hinweis auf diese Datenschutzerklärung. &lt;br /&gt;
b) Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls nur eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger Cookies&amp;#039;&amp;#039;&amp;#039; erfolgt &amp;#039;&amp;#039;&amp;#039;oder&amp;#039;&amp;#039;&amp;#039; eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger Cookies und technisch nicht notwendiger Cookies ohne vorherige Einholung einer Einwilligung des Nutzers&amp;#039;&amp;#039;&amp;#039; erfolgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger und nicht notwendiger Cookies mit vorheriger Einholung einer Einwilligung&amp;#039;&amp;#039;&amp;#039; des Nutzers erfolgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung technisch notweniger Cookies ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies zu Analysezwecken ist bei Vorliegen einer diesbezüglichen Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
c) Zweck der Datenverarbeitung&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger Cookies&amp;#039;&amp;#039;&amp;#039; erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Zweck der Verwendung technisch notwendiger Cookies ist, die Nutzung von Websites für die Nutzer zu vereinfachen. Einige Funktionen unserer Internetseite können ohne den Einsatz von Cookies nicht angeboten werden. Für diese ist es erforderlich, dass der Browser auch nach einem Seitenwechsel wiedererkannt wird.&lt;br /&gt;
Für folgende Anwendungen benötigen wir Cookies:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es folgt eine Auflistung der Anwendungen. Beispiele können sein:&lt;br /&gt;
* (1) Warenkorb&lt;br /&gt;
* (2) Übernahme von Spracheinstellungen&lt;br /&gt;
* (3) Merken von Suchbegriffen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die durch technisch notwendige Cookies erhobenen Nutzerdaten werden nicht zur Erstellung von Nutzerprofilen verwendet.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Falls kein Tracking und keine Drittanbieter Cookies &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Todo...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Falls zudem eine Verwendung technisch nicht notwendiger Cookies&amp;#039;&amp;#039;&amp;#039; erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Verwendung der Analyse-Cookies erfolgt zu dem Zweck, die Qualität unserer Website und ihre Inhalte zu verbessern. Durch die Analyse-Cookies erfahren wir, wie die Website genutzt wird und können so unser Angebot stetig optimieren.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Der genaue Einsatzzweck der Analysecookies sollte an dieser Stelle genauer beschrieben werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
In diesen Zwecken liegt auch unser berechtigtes Interesse in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1 lit. f DSGVO. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
e) Dauer der Speicherung, Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Cookies werden auf dem Rechner des Nutzers gespeichert und von diesem an unserer Seite übermittelt. Daher haben Sie als Nutzer auch die volle Kontrolle über die Verwendung von Cookies. Durch eine Änderung der Einstellungen in Ihrem Internetbrowser können Sie die Übertragung von Cookies deaktivieren oder einschränken. Bereits gespeicherte Cookies können jederzeit gelöscht werden. Dies kann auch automatisiert erfolgen. Werden Cookies für unsere Website deaktiviert, können möglicherweise nicht mehr alle Funktionen der Website vollumfänglich genutzt werden.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Wordpress Cookies====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Verwendetet Cookies im Detail:&lt;br /&gt;
Technisch notwendige Cookies:&lt;br /&gt;
wordpress_logged_in_[hash]&lt;br /&gt;
Wird gesetzt wenn sich ein Benutzer anmeldet. Management des An- und Abmeldeprozess&lt;br /&gt;
wp-settings-{time}-[UID]&lt;br /&gt;
Managment der Kommentarfunktion. Verhindert im wesentlichen, dass der Kommentator Eingaben doppelt machen muss.&lt;br /&gt;
comment_author_{HASH}&lt;br /&gt;
comment_author_email_{HASH}&lt;br /&gt;
comment_author_url_{HASH}&lt;br /&gt;
Wird gesetzt, wenn Benutzer die Kommentarfunktion nutzen. Dient dazu dem Kommentatoren doppelte Eingaben zu ersparen.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
WordPress Cookies&lt;br /&gt;
&lt;br /&gt;
After login, wordpress sets the wordpress_logged_in_[hash] cookie, which indicates when you’re logged in, and who you are, for most interface use.&lt;br /&gt;
&lt;br /&gt;
WordPress also sets a few wp-settings-{time}-[UID] cookies. The number on the end is your individual user ID from the users database table. This is used to customise your view of admin interface, and possibly also the main site interface.&lt;br /&gt;
&lt;br /&gt;
When visitors comment on your blog, they too get cookies stored on their computer. This is purely a convenience, so that the visitor won’t need to re-type all their information again when they want to leave another comment. Altogether three are set for commenters:&lt;br /&gt;
&lt;br /&gt;
comment_author_{HASH}&lt;br /&gt;
comment_author_email_{HASH}&lt;br /&gt;
comment_author_url_{HASH}&lt;br /&gt;
&lt;br /&gt;
===== ProcessWire =====&lt;br /&gt;
&lt;br /&gt;
wire - Sitzungscookie&lt;br /&gt;
&lt;br /&gt;
* Verbesserung der Sicherheit der Website&lt;br /&gt;
* Verbesserung der Bedienbarkeit der Website&lt;br /&gt;
&lt;br /&gt;
wires - Sitzungscookie&lt;br /&gt;
* wie wire, wird aber bei sicherer Verbindung eingesetzt&lt;br /&gt;
&lt;br /&gt;
wire_challenge - Persistenter Cookie&lt;br /&gt;
* Management des Login für User mit Benutzeraccount und Benutzereinstellungen&lt;br /&gt;
&lt;br /&gt;
WireTabs - Sitzungscookie&lt;br /&gt;
* Speichert Informationen zum aktuellen Bearbeitungsstatus eines angemeldeten Benutzers, während der Bearbeitung der Homepage.&lt;br /&gt;
&lt;br /&gt;
The only other cookie set by this website is called &amp;#039;wire’ and is required by ProcessWire (the underlying CMS) for the system to operate properly. If you wish to delete individual cookies from your computer but are unsure how to do it, have a look at www.allaboutcookies.org.&lt;br /&gt;
&lt;br /&gt;
==== Cookie Infos ====&lt;br /&gt;
https://rickert.net/blog/cookies-aktuelle-rechtslage/&lt;br /&gt;
&lt;br /&gt;
https://policies.google.com/technologies/cookies?hl=de&lt;br /&gt;
&lt;br /&gt;
Todo auf eigener Homepage&lt;br /&gt;
&lt;br /&gt;
===== Piwick =====&lt;br /&gt;
There are two cookies on this website that collect information from visitors to help me improve this website. They enable me to trace errors on this website and inform him about how this website is used. This information is anonymous and cannot be used to identify you personally. These cookies are set by the analytics software ‘Piwik’ and start with ‘_pk_id’ and ‘_pk_ses’. Piwik is self-hosted software. This means that all data collected stays with me. No analytics information is remitted to third parties (this is different from websites using certain other tools such as Google Analytics).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== TYPO3 =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Name: fe_typo_user&lt;br /&gt;
Art: session cookie&lt;br /&gt;
Nutzung: Login Managment für Frontend User, identifiziert den Nutzer, Verbesserung der Seitenbenutzung, Sicherheit&lt;br /&gt;
&lt;br /&gt;
Name: be_typo3_user&lt;br /&gt;
Art: session cookie&lt;br /&gt;
Nutzung: Login Managment für Backend User, identifiziert den Nutzer, Verbesserung der Seitenbenutzung, Sicherheit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
FE User Cookie Kann man per default ausschalten&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;quot;FE&amp;quot;][&amp;quot;dontSetCookie&amp;quot;] = 1;&lt;br /&gt;
&lt;br /&gt;
=== Newsletter ===&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
29. Newsletter&lt;br /&gt;
&lt;br /&gt;
1. Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Auf unserer Internetseite besteht die Möglichkeit einen kostenfreien Newsletter zu abonnieren. Dabei werden bei der Anmeldung zum Newsletter die Daten aus der Eingabemaske an uns übermittelt.&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle sollte eine konkrete Nennung der erhobenen Daten erfolgen. Im Minimalfall betrifft dies die E-Mail-Adresse des Nutzers. &lt;br /&gt;
&lt;br /&gt;
Zudem werden folgende Daten bei der Anmeldung erhoben:&lt;br /&gt;
&lt;br /&gt;
Es müssen die tatsächlich erhobenen weiteren Daten angegeben werden. Dies können beispielsweise sein:&lt;br /&gt;
(1) IP-Adresse des aufrufenden Rechners&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Anmeldevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund des Verkaufs von Waren oder Dienstleistungen:&lt;br /&gt;
&lt;br /&gt;
Wenn Sie auf unserer Internetseite Waren oder Dienstleistungen erwerben und hierbei Ihre E-Mail-Adresse hinterlegen, kann diese in der Folge durch uns für den Versand eines Newsletters verwendet werden. In einem solchen Fall wird über den Newsletter ausschließlich Direktwerbung für eigene ähnliche Waren oder Dienstleistungen versendet.&lt;br /&gt;
&lt;br /&gt;
Es erfolgt im Zusammenhang mit der Datenverarbeitung für den Versand von Newslettern keine Weitergabe der Daten an Dritte. Die Daten werden ausschließlich für den Versand des Newsletters verwendet.&lt;br /&gt;
&lt;br /&gt;
30. Rechtsgrundlage für die Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten nach Anmeldung zum Newsletters durch den Nutzer ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund des Verkaufs von Waren oder Dienstleistungen:&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für den Versand des Newsletters infolge des Verkaufs von Waren oder Dienstleistungen ist § 7 Abs. 3 UWG.&lt;br /&gt;
&lt;br /&gt;
31. Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die Erhebung der E-Mail-Adresse des Nutzers dient dazu, den Newsletter zuzustellen. &lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Die Erhebung sonstiger personenbezogener Daten im Rahmen des Anmeldevorgangs dient dazu, einen Missbrauch der Dienste oder der verwendeten E-Mail-Adresse zu verhindern.&lt;br /&gt;
&lt;br /&gt;
32. Dauer der Speicherung&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Die E-Mail-Adresse des Nutzers wird demnach solange gespeichert, wie das Abonnement des Newsletters aktiv ist. &lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Die sonstigen im Rahmen des Anmeldevorgangs erhobenen personenbezogenen Daten werden in der Regel nach einer Frist von sieben Tagen gelöscht.&lt;br /&gt;
&lt;br /&gt;
33. Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Das Abonnement des Newsletters kann durch den betroffenen Nutzer jederzeit gekündigt werden. Zu diesem Zweck findet sich in jedem Newsletter ein entsprechender Link. &lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Hierdurch wird ebenfalls ein Widerruf der Einwilligung der Speicherung der während des Anmeldevorgangs erhobenen personenbezogenen Daten ermöglicht.&lt;br /&gt;
&lt;br /&gt;
34. Registrierung&lt;br /&gt;
&lt;br /&gt;
1. Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
Auf unserer Internetseite bieten wir Nutzern die Möglichkeit, sich unter Angabe personenbezogener Daten zu registrieren. Die Daten werden dabei in eine Eingabemaske eingegeben und an uns übermittelt und gespeichert. Eine Weitergabe der Daten an Dritte findet nicht statt. Folgende Daten werden im Rahmen des Registrierungsprozesses erhoben:&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle sollten die entsprechenden Daten aufgelistet werden.&lt;br /&gt;
&lt;br /&gt;
Im Zeitpunkt der Registrierung werden zudem folgende Daten gespeichert:&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle sind die Daten entsprechend aufzulisten. Beispiele können sein:&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Im Rahmen des Registrierungsprozesses wird eine Einwilligung des Nutzers zur Verarbeitung dieser Daten eingeholt.&lt;br /&gt;
35. Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Wenn die Registrierung der Erfüllung eines Vertrages, dessen Vertragspartei die betroffene Person ist, oder der Durchführung vorvertraglicher Maßnahmen dient.&lt;br /&gt;
&lt;br /&gt;
Dient die Registrierung der Erfüllung eines Vertrages, dessen Vertragspartei der Nutzer ist oder der Durchführung vorvertraglicher Maßnahmen, so ist zusätzliche Rechtsgrundlage für die Verarbeitung der Daten Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
&lt;br /&gt;
36. Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient nicht zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Eine Registrierung des Nutzers ist für das Bereithalten bestimmter Inhalte und Leistungen auf unserer Website erforderlich.&lt;br /&gt;
&lt;br /&gt;
Es folgt eine nähere Beschreibung der Inhalte und Leistungen. Warum ist im Einzelfall eine Identifikation des Nutzers für die Bereithaltung erforderlich?&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Eine Registrierung des Nutzers ist zur Erfüllung eines Vertrages mit dem Nutzer oder zur Durchführung vorvertraglicher Maßnahmen erforderlich.&lt;br /&gt;
&lt;br /&gt;
Es folgt eine nähere Beschreibung des auf der Internetseite angebotenen Vertrages. Warum sind für diese Verträge die erhobenen Daten erforderlich?&lt;br /&gt;
&lt;br /&gt;
Sollte für die von Ihnen angebotenen Verträge eine Verarbeitung der personenbezogenen Daten des Vertragspartners bei Vertragsschluss gesetzlich vorgeschrieben sein, so sind die jeweiligen Normen, aus denen sich die Verpflichtung ergibt, zu nennen.&lt;br /&gt;
37. Dauer der Speicherung&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind.&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient nicht zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Dies ist für die während des Registrierungsvorgangs erhobenen Daten der Fall, wenn die Registrierung auf unserer Internetseite aufgehoben oder abgeändert wird. &lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Dies ist für die während des Registrierungsvorgangs zur Erfüllung eines Vertrags oder zur Durchführung vorvertraglicher Maßnahmen dann der Fall, wenn die Daten für die Durchführung des Vertrages nicht mehr erforderlich sind. Auch nach Abschluss des Vertrags kann eine Erforderlichkeit, personenbezogene Daten des Vertragspartners zu speichern, bestehen, um vertraglichen oder gesetzlichen Verpflichtungen nachzukommen.&lt;br /&gt;
&lt;br /&gt;
Dauerschuldverhältnisse erfordern die Speicherung der personenbezogenen Daten während der Vertragslaufzeit. Zudem müssen Gewährleistungsfristen beachtet werden und die Speicherung von Daten für steuerliche Zwecke. Welche Speicherfristen hierbei einzuhalten sind, lässt sich nicht pauschal festlegen, sondern muss für die jeweils geschlossenen Verträge und Vertragsparteien im Einzelfall ermittelt werden.&lt;br /&gt;
38. Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
Als Nutzer haben sie jederzeit die Möglichkeit, die Registrierung aufzulösen. Die über Sie gespeicherten Daten können Sie jederzeit abändern lassen. &lt;br /&gt;
&lt;br /&gt;
Es folgt eine nähere Beschreibung, wie eine Löschung des Accounts und eine Änderung von Daten möglich sind.&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Sind die Daten zur Erfüllung eines Vertrages oder zur Durchführung vorvertraglicher Maßnahmen erforderlich, ist eine vorzeitige Löschung der Daten nur möglich, soweit nicht vertragliche oder gesetzliche Verpflichtungen einer Löschung entgegenstehen. &lt;br /&gt;
39. Kontaktformular und E-Mail-Kontakt&lt;br /&gt;
1. Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
Auf unserer Internetseite ist ein Kontaktformular vorhanden, welches für die elektronische Kontaktaufnahme genutzt werden kann. Nimmt ein Nutzer diese Möglichkeit wahr, so werden die in der Eingabemaske eingegeben Daten an uns übermittelt und gespeichert. Diese Daten sind:&lt;br /&gt;
&lt;br /&gt;
Es folgt eine Auflistung der Daten der Eingabemaske&lt;br /&gt;
&lt;br /&gt;
Im Zeitpunkt der Absendung der Nachricht werden zudem folgende Daten gespeichert:&lt;br /&gt;
&lt;br /&gt;
Es folgt eine Auflistung der entsprechenden Daten. Beispiele können sein:&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Absendevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse möglich. In diesem Fall werden die mit der E-Mail übermittelten personenbezogenen Daten des Nutzers gespeichert. &lt;br /&gt;
&lt;br /&gt;
Es erfolgt in diesem Zusammenhang keine Weitergabe der Daten an Dritte. Die Daten werden ausschließlich für die Verarbeitung der Konversation verwendet.&lt;br /&gt;
&lt;br /&gt;
40. Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten, die im Zuge einer Übersendung einer E-Mail übermittelt werden, ist Art. 6 Abs. 1 lit. f DSGVO. Zielt der E-Mail-Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
&lt;br /&gt;
41. Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die Verarbeitung der personenbezogenen Daten aus der Eingabemaske dient uns allein zur Bearbeitung der Kontaktaufnahme. Im Falle einer Kontaktaufnahme per E-Mail liegt hieran auch das erforderliche berechtigte Interesse an der Verarbeitung der Daten.&lt;br /&gt;
Die sonstigen während des Absendevorgangs verarbeiteten personenbezogenen Daten dienen dazu, einen Missbrauch des Kontaktformulars zu verhindern und die Sicherheit unserer informationstechnischen Systeme sicherzustellen.&lt;br /&gt;
42. Dauer der Speicherung&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Für die personenbezogenen Daten aus der Eingabemaske des Kontaktformulars und diejenigen, die per E-Mail übersandt wurden, ist dies dann der Fall, wenn die jeweilige Konversation mit dem Nutzer beendet ist. Beendet ist die Konversation dann, wenn sich aus den Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist. &lt;br /&gt;
&lt;br /&gt;
Die während des Absendevorgangs zusätzlich erhobenen personenbezogenen Daten werden spätestens nach einer Frist von sieben Tagen gelöscht.&lt;br /&gt;
&lt;br /&gt;
43. Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Der Nutzer hat jederzeit die Möglichkeit, seine Einwilligung zur Verarbeitung der personenbezogenen Daten zu widerrufen. Nimmt der Nutzer per E-Mail Kontakt mit uns auf, so kann er der Speicherung seiner personenbezogenen Daten jederzeit widersprechen. In einem solchen Fall kann die Konversation nicht fortgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Es folgt eine Beschreibung, auf welche Weise der Widerruf der Einwilligung und der Widerspruch der Speicherung ermöglicht wird.&lt;br /&gt;
&lt;br /&gt;
Alle personenbezogenen Daten, die im Zuge der Kontaktaufnahme gespeichert wurden, werden in diesem Fall gelöscht.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kontaktformular ===&lt;br /&gt;
Direkt am Formular&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutz&lt;br /&gt;
&lt;br /&gt;
Mit meiner Kontaktaufnahme willige ich ein, dass meine Daten gespeichert und zur Bearbeitung meiner Anfrage/Kontaktaufnahme sowie für die Zusendung von Informationsmaterial genutzt werden. Eine Weiterleitung an Dritte ist ausgeschlossen. Diese Einwilligung kann jederzeit widerrufen werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Checkbox&amp;gt; Ich stimme zu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In der Datenschutzerklärung&lt;br /&gt;
&lt;br /&gt;
Quelle Uni Münster (stark angepasst)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KONTAKTFORMULAR UND E-MAIL KONTAKT&lt;br /&gt;
&lt;br /&gt;
Auf unserer Website können Sie Kontaktformulare zur elektronische Kontaktaufnahme nutzen. Nehmen Sie diese Möglichkeit wahr, so werden die von Ihnen in der Eingabemaske eingegeben Daten an uns übermittelt und gespeichert. &lt;br /&gt;
&lt;br /&gt;
Im Zeitpunkt der Absendung der Nachricht werden zudem folgende Daten gespeichert:&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Absendevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse möglich. In diesem Fall werden die mit der E-Mail übermittelten personenbezogenen Daten des Nutzers gespeichert. &lt;br /&gt;
Die Daten werden ausschließlich für die Verarbeitung der Konversation verwendet. Es erfolgt in diesem Zusammenhang keine Weitergabe der Daten an Dritte. &lt;br /&gt;
Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten, die im Zuge einer Übersendung einer E-Mail übermittelt werden, ist Art. 6 Abs. 1 lit. f DSGVO. Zielt der E-Mail-Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
Die Verarbeitung der personenbezogenen Daten aus der Eingabemaske dient uns allein zur Bearbeitung der Kontaktaufnahme. Im Falle einer Kontaktaufnahme per E-Mail liegt hieran auch das erforderliche berechtigte Interesse an der Verarbeitung der Daten.&lt;br /&gt;
Die sonstigen während des Absendevorgangs verarbeiteten personenbezogenen Daten dienen dazu, einen Missbrauch des Kontaktformulars zu verhindern und die Sicherheit unserer informationstechnischen Systeme sicherzustellen.&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Für die personenbezogenen Daten aus der Eingabemaske des Kontaktformulars und diejenigen, die per E-Mail übersandt wurden, ist dies dann der Fall, wenn die jeweilige Konversation mit dem Nutzer beendet ist. Beendet ist die Konversation dann, wenn sich aus den Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Google Analytics ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutzerklärung für die Nutzung von Google Analytics&lt;br /&gt;
&lt;br /&gt;
Diese Website nutzt Funktionen des  Webanalysedienstes Google Analytics. Anbieter ist die Google Inc. 1600 Amphitheatre Parkway Mountain View, CA 94043, USA. Google Analytics verwendet sog. „Cookies“. Das sind Textdateien, die auf Ihrem Computer gespeichert werden und die eine Analyse der Benutzung der Website durch Sie ermöglichen. Die durch den Cookie erzeugten Informationen über Ihre Benutzung dieser Website werden in der Regel an einen Server von Google in den USA übertragen und dort gespeichert.&lt;br /&gt;
&lt;br /&gt;
Im Falle der Aktivierung der IP-Anonymisierung auf dieser Webseite wird Ihre IP-Adresse von Google jedoch innerhalb von Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten des Abkommens über den Europäischen Wirtschaftsraum zuvor gekürzt. Nur in Ausnahmefällen wird die volle IP-Adresse an einen Server von Google in den USA übertragen und dort gekürzt. Im Auftrag des Betreibers dieser Website wird Google diese Informationen benutzen, um Ihre Nutzung der Website auszuwerten, um Reports über die Websiteaktivitäten zusammenzustellen und um weitere mit der Websitenutzung und der Internetnutzung verbundene Dienstleistungen gegenüber dem Websitebetreiber zu erbringen. Die im Rahmen von Google Analytics von Ihrem Browser übermittelte IP-Adresse wird nicht mit anderen Daten von Google zusammengeführt.&lt;br /&gt;
&lt;br /&gt;
Sie können die Speicherung der Cookies durch eine entsprechende Einstellung Ihrer Browser-Software verhindern; wir weisen Sie jedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche Funktionen dieser Website vollumfänglich werden nutzen können. Sie können darüber hinaus die Erfassung der durch das Cookie erzeugten und auf Ihre Nutzung der Website bezogenen Daten (inkl. Ihrer IP-Adresse) an Google sowie die Verarbeitung dieser Daten durch Google verhindern, indem sie das unter dem folgenden Link verfügbare Browser-Plugin herunterladen und installieren: http://tools.google.com/dlpage/gaoptout?hl=de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Google Maps ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GOOGLE MAPS&lt;br /&gt;
&lt;br /&gt;
Diese Website verwendet die GoogleMaps API. Ein Produkt der Google Inc., zur Anzeige von interaktiven Landkarten. Bei der Nutzung von Google Maps werden von Google auch Daten über die Nutzung der Maps-Funktionen des Besuchers erhoben, verarbeitet und genutzt. Nähere Informationen über die Datenverarbeitung durch Google finden Sie in den Datenschutzhinweisen von Google (http://www.google.com/intl/de_de/help/terms_maps.html). Google stellt dort darüber hinaus Möglichkeiten zur Datenschutzeinstellung zur Verfügung, mit denen Sie Ihre Daten verwalten und schützen können.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenStreetMaps ===&lt;br /&gt;
https://www.studierendenwerk-kaiserslautern.de/kaiserslautern/info/datenschutzerklaerung/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OpenStreetMap&lt;br /&gt;
&lt;br /&gt;
Diese Seite nutzt über eine API das Open-Source-Mapping-Werkzeug „OpenStreetMap“ (OSM). Anbieter ist die OpenStreetMap Foundation. Zur Nutzung der Funktionen von OpenStreetMap ist es notwendig, Ihre IP Adresse zu speichern. Diese Informationen werden in der Regel an einen Server von OpenStreetMap übertragen und dort gespeichert. Der Anbieter dieser Seite hat keinen Einfluss auf diese Datenübertragung. Die Nutzung von OpenStreetMap erfolgt im Interesse einer ansprechenden Darstellung unserer Online-Angebote und an einer leichten Auffindbarkeit der von uns auf der Website angegebenen Orte. Dies stellt ein berechtigtes Interesse im Sinne von Art. 6 Abs. 1 lit. f DSGVO dar. Mehr Informationen zum Umgang mit Nutzerdaten finden Sie in der Datenschutzseite von OpenStreetMap und hier http://wiki.openstreetmap.org/wiki/Legal_FAQ.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ADFC&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OpenStreetMap&lt;br /&gt;
&lt;br /&gt;
Zur Darstellung von Geo-Daten verwenden wir das Open-Source-Mapping-Werkzeug „OpenStreetMap“ (OSM). OpenStreetMap ist ein Service der Openstreetmap Foundation, 132 Maney Hill Road, Sutton Coldfield, West Midlands, B72 1JU, United Kingdom. Damit Ihnen die Karte angezeigt werden kann, wird Ihre IP-Adresse an OpenStreetMap weitergeleitet. Wie OpenStreetMap Ihre Daten speichert, können Sie auf der Datenschutzseite von OpenStreetMap und hier http://wiki.openstreetmap.org/wiki/Legal_FAQ erfahren.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OpenStreetMap&lt;br /&gt;
&lt;br /&gt;
Wir binden die Landkarten des Dienstes &amp;quot;OpenStreetMap&amp;quot; ein (https://www.openstreetmap.org), die auf Grundlage der Open Data Commons Open Database Lizenz (ODbL) durch die OpenStreetMap Foundation (OSMF) angeboten werden. Datenschutzerklärung: https://wiki.openstreetmap.org/wiki/Privacy_Policy).&lt;br /&gt;
&lt;br /&gt;
Nach unserer Kenntnis werden die Daten der Nutzer durch OpenStreetMap ausschließlich zu Zwecken der Darstellung der Kartenfunktionen und Zwischenspeicherung der gewählten Einstellungen verwendet. Zu diesen Daten können insbesondere IP-Adressen und Standortdaten der Nutzer gehören, die jedoch nicht ohne deren Einwilligung (im Regelfall im Rahmen der Einstellungen ihrer Mobilgeräte vollzogen), erhoben werden. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fonts ===&lt;br /&gt;
==== Links ====&lt;br /&gt;
https://www.mittwald.de/blog/mittwald/howtos/dem-datenschutz-zuliebe-wie-ihr-google-fonts-lokal-in-eure-webseiten-einbindet&lt;br /&gt;
&lt;br /&gt;
==== Beispiel 1 - Allgemein ====&lt;br /&gt;
&lt;br /&gt;
Verwendung von Scriptbibliotheken (Google Webfonts)&lt;br /&gt;
&lt;br /&gt;
Um unsere Inhalte browserübergreifend korrekt und graﬁsch ansprechend darzustellen, verwenden wir auf dieser Website Scriptbibliotheken und Schriftbibliotheken wie z. B. Google Webfonts (https://www.google.com/webfonts). Google Webfonts werden zur Vermeidung mehrfachen Ladens in den Cache Ihres Browsers übertragen. Falls der Browser die Google Webfonts nicht unterstützt oder den Zugriﬀ unterbindet, werden Inhalte in einer Standardschrift angezeigt.&lt;br /&gt;
Der Aufruf von Scriptbibliotheken oder Schriftbibliotheken löst automatisch eine Verbindung zum Betreiber der Bibliothek aus. Dabei ist es theoretisch möglich – aktuell allerdings auch unklar ob und ggf. zu welchen Zwecken – dass Betreiber entsprechender Bibliotheken Daten erheben.&lt;br /&gt;
&lt;br /&gt;
Die Datenschutzrichtlinie des Bibliothekbetreibers Google ﬁnden Sie hier:&lt;br /&gt;
https://policies.google.com/privacy?hl=de&lt;br /&gt;
&lt;br /&gt;
==== Beispiel 2 ====&lt;br /&gt;
Google Fonts&lt;br /&gt;
&lt;br /&gt;
Zur Darstellung der Schrift auf dieser Website setzten wir externe Schriftarten von Google Fonts ein.&lt;br /&gt;
Dieser Dienst wird von der Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043 USA, nachfolgend „Google“ angeboten.&lt;br /&gt;
Google ist nach dem „EU-US Privacy Shield“ zertifiziert und garantiert dadurch die Einhaltung der Datenschutzvorgaben der EU bei der Verarbeitung der Daten in den USA.&lt;br /&gt;
 &lt;br /&gt;
https://www.privacyshield.gov/participant?id=a2zt000000001L5AAI&amp;amp;status=Active&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf dieser Website wird eine Verbindung zu  Google-Server in den USA aufgebaut, um die Schrift zu laden oder diese zu aktualisieren.&lt;br /&gt;
&lt;br /&gt;
Durch diese Verbindung kann Google erkennen, von welcher Website eine Anfrage gestellt wird und an welche IP-Adresse die Schrift übermittelt wird.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO. Das berechtigte Interesse des Anbieters besteht an der Optimierung und dem wirtschaftlichen Betrieb der Website.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen, insbesondere zu den Möglichkeiten der Unterbindung der Datennutzung, bietet Google unter den nachfolgenden Links an:&lt;br /&gt;
&lt;br /&gt;
https://policies.google.com/privacy&lt;br /&gt;
https://adssettings.google.com/authenticated.&lt;br /&gt;
&lt;br /&gt;
=== Ärzte ===&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    Impressum&lt;br /&gt;
    Datenschutz&lt;br /&gt;
&lt;br /&gt;
PATIENTENINFORMATION ZUM DATENSCHUTZ&lt;br /&gt;
&lt;br /&gt;
Sehr geehrte Patientin, sehr geehrter Patient,&lt;br /&gt;
der Schutz Ihrer personenbezogenen Daten ist uns wichtig. Nach der EU-Datenschutz-Grundverordnung (DSGVO) sind wir verpflichtet, Sie darüber zu informieren, zu welchem Zweck unsere Praxis Daten erhebt, speichert oder weiterleitet. Der Information können Sie auch entnehmen, welche Rechte Sie in puncto Datenschutz haben.&lt;br /&gt;
1. VERANTWORTLICHKEIT FÜR DIE DATENVERARBEITUNG&lt;br /&gt;
&lt;br /&gt;
Verantwortlich für die Datenverarbeitung ist:&lt;br /&gt;
Praxisname&lt;br /&gt;
Verhaltenstherapeutische Praxis Dr. rer. nat. Dipl. Psych. Anja Schwarz&lt;br /&gt;
Adresse&lt;br /&gt;
Böllatstraße 4, 72622 Neckarhausen / Nürtingen&lt;br /&gt;
Kontaktdaten&lt;br /&gt;
Tel: 07022 244352&lt;br /&gt;
Tax: 07022 244351&lt;br /&gt;
E-Mail: schwarz@schwarz-psychotherapie.de&lt;br /&gt;
Homepage: http//www.schwarz-psychotherapie.de&lt;br /&gt;
&lt;br /&gt;
2. ZWECK DER DATENVERARBEITUNG&lt;br /&gt;
&lt;br /&gt;
Die Datenverarbeitung erfolgt aufgrund gesetzlicher Vorgaben, um den Behandlungsvertrag zwischen Ihnen und Ihrem behandelnden Psychotgherapeuten und die damit verbundenen Pflichten zu erfüllen.&lt;br /&gt;
Hierzu verarbeiten wir Ihre personenbezogenen Daten, insbesondere Ihre Gesundheitsdaten. Dazu zählen Anamnesen, Diagnosen, Therapievorschläge und Befunde, die wir oder andere Ärzte erheben. Zu diesen Zwecken können uns auch andere Ärzte oder Psychotherapeuten, bei denen Sie in Behandlung sind, Daten zur Verfügung stellen (z.B. in Arztbriefen).&lt;br /&gt;
Die Erhebung von Gesundheitsdaten ist Voraussetzung für Ihre Behandlung. Werden die notwendigen Informationen nicht bereitgestellt, kann eine sorgfältige Behandlung nicht erfolgen.&lt;br /&gt;
&lt;br /&gt;
3. EMPFÄNGER IHRER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir übermitteln Ihre personenbezogenen Daten nur dann an Dritte, wenn dies gesetzlich erlaubt ist oder Sie eingewilligt haben.&lt;br /&gt;
Empfänger Ihrer personenbezogenen Daten können vor allem andere Ärzte / Psychotherapeuten, Kassenärztliche Vereinigungen, Krankenkassen, der Medizinische Dienst der Krankenversicherung, Ärztekammern und privatärztliche Verrechnungsstellen sein.&lt;br /&gt;
Die Übermittlung erfolgt überwiegend zum Zwecke der Abrechnung der bei Ihnen erbrachten Leistungen, zur Klärung von medizinischen und sich aus Ihrem Versicherungsverhältnis ergebenden Fragen. Im Einzelfall erfolgt die Übermittlung von Daten an weitere berechtigte Empfänger.&lt;br /&gt;
&lt;br /&gt;
4. SPEICHERUNG IHRER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir bewahren Ihre personenbezogenen Daten nur solange auf, wie dies für die Durchführung der Behandlung erforderlich ist.&lt;br /&gt;
Aufgrund rechtlicher Vorgaben sind wir dazu verpflichtet, diese Daten mindestens 10 Jahre nach Abschluss der Behandlung aufzubewahren. Nach anderen Vorschriften können sich längere Aufbewahrungsfristen ergeben, zum Beispiel 30 Jahre bei Röntgenaufzeichnungen laut Paragraf 28 Absatz 3 der Röntgenverordnung.&lt;br /&gt;
&lt;br /&gt;
== Rechte ==&lt;br /&gt;
Rechte der User&lt;br /&gt;
Quelle Datenschutz.org&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AUSKUNFT, BERICHTIGUNG UND LÖSCHUNG&lt;br /&gt;
&lt;br /&gt;
Sie als Nutzer erhalten auf Antrag Ihrerseits kostenlose Auskunft darüber, welche personenbezogenen Daten über Sie gespeichert wurden. Sofern Ihr Wunsch nicht mit einer gesetzlichen Pflicht zur Aufbewahrung von Daten (z. B. Vorratsdatenspeicherung) kollidiert, haben Sie ein Anrecht auf Berichtigung falscher Daten und auf die Sperrung oder Löschung Ihrer personenbezogenen Daten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
Die folgende Auflistung umfasst alle Rechte der Betroffenen nach der DS-GVO. Rechte, die für die eigene Webseite keine Relevanz haben, müssen nicht genannt werden. Insoweit kann die Auflistung gekürzt werden.&lt;br /&gt;
Werden personenbezogene Daten von Ihnen verarbeitet, sind Sie Betroffener i.S.d. DS-GVO und es stehen Ihnen folgende Rechte gegenüber dem Verantwortlichen zu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AUSKUNFTSRECHT&lt;br /&gt;
&lt;br /&gt;
Sie können von dem Verantwortlichen eine Bestätigung darüber verlangen, ob personenbezogene Daten, die Sie betreffen, von uns verarbeitet werden. &lt;br /&gt;
Liegt eine solche Verarbeitung vor, können Sie von dem Verantwortlichen über folgende Informationen Auskunft verlangen:&lt;br /&gt;
(1) die Zwecke, zu denen die personenbezogenen Daten verarbeitet werden;&lt;br /&gt;
(2) die Kategorien von personenbezogenen Daten, welche verarbeitet werden;&lt;br /&gt;
(3) die Empfänger bzw. die Kategorien von Empfängern, gegenüber denen die Sie betreffenden personenbezogenen Daten offengelegt wurden oder noch offengelegt werden;&lt;br /&gt;
(4) die geplante Dauer der Speicherung der Sie betreffenden personenbezogenen Daten oder, falls konkrete Angaben hierzu nicht möglich sind, Kriterien für die Festlegung der Speicherdauer;&lt;br /&gt;
(5) das Bestehen eines Rechts auf Berichtigung oder Löschung der Sie betreffenden personenbezogenen Daten, eines Rechts auf Einschränkung der Verarbeitung durch den Verantwortlichen oder eines Widerspruchsrechts gegen diese Verarbeitung; &lt;br /&gt;
(6) das Bestehen eines Beschwerderechts bei einer Aufsichtsbehörde;&lt;br /&gt;
(7) alle verfügbaren Informationen über die Herkunft der Daten, wenn die personenbezogenen Daten nicht bei der betroffenen Person erhoben werden;&lt;br /&gt;
(8) das Bestehen einer automatisierten Entscheidungsfindung einschließlich Profiling gemäß Art. 22 Abs. 1 und 4 DSGVO und – zumindest in diesen Fällen – aussagekräftige Informationen über die involvierte Logik sowie die Tragweite und die angestrebten Auswirkungen einer derartigen Verarbeitung für die betroffene Person.&lt;br /&gt;
&lt;br /&gt;
Ihnen steht das Recht zu, Auskunft darüber zu verlangen, ob die Sie betreffenden personenbezogenen Daten in ein Drittland oder an eine internationale Organisation übermittelt werden. In diesem Zusammenhang können Sie verlangen, über die geeigneten Garantien gem. Art. 46 DSGVO im Zusammenhang mit der Übermittlung unterrichtet zu werden.&lt;br /&gt;
&lt;br /&gt;
Bei einer Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
Dieses Auskunftsrecht kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
RECHT AUF BERICHTIGUNG&lt;br /&gt;
&lt;br /&gt;
Sie haben ein Recht auf Berichtigung und/oder Vervollständigung gegenüber dem Verantwortlichen, sofern die verarbeiteten personenbezogenen Daten, die Sie betreffen, unrichtig oder unvollständig sind. Der Verantwortliche hat die Berichtigung unverzüglich vorzunehmen.&lt;br /&gt;
Bei Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
Ihr Recht auf Berichtigung kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RECHT AUF EINSCHRÄNKUNG DER VERARBEITUNG&lt;br /&gt;
&lt;br /&gt;
Unter den folgenden Voraussetzungen können Sie die Einschränkung der Verarbeitung der Sie betreffenden personenbezogenen Daten verlangen.&lt;br /&gt;
&lt;br /&gt;
(1) wenn Sie die Richtigkeit der Sie betreffenden personenbezogenen für eine Dauer bestreiten, die es dem Verantwortlichen ermöglicht, die Richtigkeit der personenbezogenen Daten zu überprüfen;&lt;br /&gt;
&lt;br /&gt;
(2) die Verarbeitung unrechtmäßig ist und Sie die Löschung der personenbezogenen Daten ablehnen und stattdessen die Einschränkung der Nutzung der personenbezogenen Daten verlangen;&lt;br /&gt;
&lt;br /&gt;
(3) der Verantwortliche die personenbezogenen Daten für die Zwecke der Verarbeitung nicht länger benötigt, Sie diese jedoch zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen benötigen, oder&lt;br /&gt;
&lt;br /&gt;
(4) wenn Sie Widerspruch gegen die Verarbeitung gemäß Art. 21 Abs. 1 DSGVO eingelegt haben und noch nicht feststeht, ob die berechtigten Gründe des Verantwortlichen gegenüber Ihren Gründen überwiegen.&lt;br /&gt;
&lt;br /&gt;
Wurde die Verarbeitung der Sie betreffenden personenbezogenen Daten eingeschränkt, dürfen diese Daten – von ihrer Speicherung abgesehen – nur mit Ihrer Einwilligung oder zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen oder zum Schutz der Rechte einer anderen natürlichen oder juristischen Person oder aus Gründen eines wichtigen öffentlichen Interesses der Union oder eines Mitgliedstaats verarbeitet werden.&lt;br /&gt;
Wurde die Einschränkung der Verarbeitung nach den o.g. Voraussetzungen eingeschränkt, werden Sie von dem Verantwortlichen unterrichtet bevor die Einschränkung aufgehoben wird.&lt;br /&gt;
&lt;br /&gt;
Bei Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
&lt;br /&gt;
Ihr Recht auf Einschränkung der Verarbeitung kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
RECHT AUF LÖSCHUNG&lt;br /&gt;
&lt;br /&gt;
a) Löschungspflicht&lt;br /&gt;
Sie können von dem Verantwortlichen verlangen, dass die Sie betreffenden personenbezogenen Daten unverzüglich gelöscht werden, und der Verantwortliche ist verpflichtet, diese Daten unverzüglich zu löschen, sofern einer der folgenden Gründe zutrifft:&lt;br /&gt;
&lt;br /&gt;
(1) Die Sie betreffenden personenbezogenen Daten sind für die Zwecke, für die sie erhoben oder auf sonstige Weise verarbeitet wurden, nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
(2) Sie widerrufen Ihre Einwilligung, auf die sich die Verarbeitung gem. Art. 6 Abs. 1 lit. a oder Art. 9 Abs. 2 lit. a DSGVO stützte, und es fehlt an einer anderweitigen Rechtsgrundlage für die Verarbeitung. &lt;br /&gt;
&lt;br /&gt;
(3) Sie legen gem. Art. 21 Abs. 1 DSGVO Widerspruch gegen die Verarbeitung ein und es liegen keine vorrangigen berechtigten Gründe für die Verarbeitung vor, oder Sie legen gem. Art. 21 Abs. 2 DSGVO Widerspruch gegen die Verarbeitung ein. &lt;br /&gt;
&lt;br /&gt;
(4) Die Sie betreffenden personenbezogenen Daten wurden unrechtmäßig verarbeitet. &lt;br /&gt;
&lt;br /&gt;
(5) Die Löschung der Sie betreffenden personenbezogenen Daten ist zur Erfüllung einer rechtlichen Verpflichtung nach dem Unionsrecht oder dem Recht der Mitgliedstaaten erforderlich, dem der Verantwortliche unterliegt. &lt;br /&gt;
&lt;br /&gt;
(6) Die Sie betreffenden personenbezogenen Daten wurden in Bezug auf angebotene Dienste der Informationsgesellschaft gemäß Art. 8 Abs. 1 DSGVO erhoben.&lt;br /&gt;
&lt;br /&gt;
INFORMATION AN DRITTE&lt;br /&gt;
&lt;br /&gt;
Hat der Verantwortliche die Sie betreffenden personenbezogenen Daten öffentlich gemacht und ist er gem. Art. 17 Abs. 1 DSGVO zu deren Löschung verpflichtet, so trifft er unter Berücksichtigung der verfügbaren Technologie und der Implementierungskosten angemessene Maßnahmen, auch technischer Art, um für die Datenverarbeitung Verantwortliche, die die personenbezogenen Daten verarbeiten, darüber zu informieren, dass Sie als betroffene Person von ihnen die Löschung aller Links zu diesen personenbezogenen Daten oder von Kopien oder Replikationen dieser personenbezogenen Daten verlangt haben. &lt;br /&gt;
&lt;br /&gt;
AUSNAHMEN&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Löschung besteht nicht, soweit die Verarbeitung erforderlich ist&lt;br /&gt;
&lt;br /&gt;
(1) zur Ausübung des Rechts auf freie Meinungsäußerung und Information;&lt;br /&gt;
&lt;br /&gt;
(2) zur Erfüllung einer rechtlichen Verpflichtung, die die Verarbeitung nach dem Recht der Union oder der Mitgliedstaaten, dem der Verantwortliche unterliegt, erfordert, oder zur Wahrnehmung einer Aufgabe, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, die dem Verantwortlichen übertragen wurde;&lt;br /&gt;
&lt;br /&gt;
(3) aus Gründen des öffentlichen Interesses im Bereich der öffentlichen Gesundheit gemäß Art. 9 Abs. 2 lit. h und i sowie Art. 9 Abs. 3 DSGVO;&lt;br /&gt;
&lt;br /&gt;
(4) für im öffentlichen Interesse liegende Archivzwecke, wissenschaftliche oder historische Forschungszwecke oder für statistische Zwecke gem. Art. 89 Abs. 1 DSGVO, soweit das unter Abschnitt a) genannte Recht voraussichtlich die Verwirklichung der Ziele dieser Verarbeitung unmöglich macht oder ernsthaft beeinträchtigt, oder&lt;br /&gt;
&lt;br /&gt;
(5) zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&lt;br /&gt;
&lt;br /&gt;
Recht auf Unterrichtung&lt;br /&gt;
&lt;br /&gt;
Haben Sie das Recht auf Berichtigung, Löschung oder Einschränkung der Verarbeitung gegenüber dem Verantwortlichen geltend gemacht, ist dieser verpflichtet, allen Empfängern, denen die Sie betreffenden personenbezogenen Daten offengelegt wurden, diese Berichtigung oder Löschung der Daten oder Einschränkung der Verarbeitung mitzuteilen, es sei denn, dies erweist sich als unmöglich oder ist mit einem unverhältnismäßigen Aufwand verbunden.&lt;br /&gt;
Ihnen steht gegenüber dem Verantwortlichen das Recht zu, über diese Empfänger unterrichtet zu werden.&lt;br /&gt;
&lt;br /&gt;
Recht auf Datenübertragbarkeit&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, die Sie betreffenden personenbezogenen Daten, die Sie dem Verantwortlichen bereitgestellt haben, in einem strukturierten, gängigen und maschinenlesbaren Format zu erhalten. Außerdem haben Sie das Recht diese Daten einem anderen Verantwortlichen ohne Behinderung durch den Verantwortlichen, dem die personenbezogenen Daten bereitgestellt wurden, zu übermitteln, sofern&lt;br /&gt;
&lt;br /&gt;
(1) die Verarbeitung auf einer Einwilligung gem. Art. 6 Abs. 1 lit. a DSGVO oder Art. 9 Abs. 2 lit. a DSGVO oder auf einem Vertrag gem. Art. 6 Abs. 1 lit. b DSGVO beruht und&lt;br /&gt;
&lt;br /&gt;
(2) die Verarbeitung mithilfe automatisierter Verfahren erfolgt.&lt;br /&gt;
&lt;br /&gt;
In Ausübung dieses Rechts haben Sie ferner das Recht, zu erwirken, dass die Sie betreffenden personenbezogenen Daten direkt von einem Verantwortlichen einem anderen Verantwortlichen übermittelt werden, soweit dies technisch machbar ist. Freiheiten und Rechte anderer Personen dürfen hierdurch nicht beeinträchtigt werden.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Datenübertragbarkeit gilt nicht für eine Verarbeitung personenbezogener Daten, die für die Wahrnehmung einer Aufgabe erforderlich ist, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, die dem Verantwortlichen übertragen wurde.&lt;br /&gt;
&lt;br /&gt;
WIDERSPRUCHSRECHT&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, jederzeit gegen die Verarbeitung der Sie betreffenden personenbezogenen Daten, die aufgrund von Art. 6 Abs. 1 lit. e oder f DSGVO erfolgt, Widerspruch einzulegen; dies gilt auch für ein auf diese Bestimmungen gestütztes Profiling. &lt;br /&gt;
Der Verantwortliche verarbeitet die Sie betreffenden personenbezogenen Daten nicht mehr, es sei denn, er kann zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die Ihre Interessen, Rechte und Freiheiten überwiegen, oder die Verarbeitung dient der Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&lt;br /&gt;
&lt;br /&gt;
Werden die Sie betreffenden personenbezogenen Daten verarbeitet, um Direktwerbung zu betreiben, haben Sie das Recht, jederzeit Widerspruch gegen die Verarbeitung der Sie betreffenden personenbezogenen Daten zum Zwecke derartiger Werbung einzulegen; dies gilt auch für das Profiling, soweit es mit solcher Direktwerbung in Verbindung steht.&lt;br /&gt;
Widersprechen Sie der Verarbeitung für Zwecke der Direktwerbung, so werden die Sie betreffenden personenbezogenen Daten nicht mehr für diese Zwecke verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Sie haben die Möglichkeit, im Zusammenhang mit der Nutzung von Diensten der Informationsgesellschaft – ungeachtet der Richtlinie 2002/58/EG – Ihr Widerspruchsrecht mittels automatisierter Verfahren auszuüben, bei denen technische Spezifikationen verwendet werden.&lt;br /&gt;
Bei Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
Sie haben auch das Recht, aus Gründen, die sich aus Ihrer besonderen Situation ergeben, bei der Verarbeitung Sie betreffender personenbezogener Daten, die zu wissenschaftlichen oder historischen Forschungszwecken oder zu statistischen Zwecken gem. Art. 89 Abs. 1 DSGVO erfolgt, dieser zu widersprechen.&lt;br /&gt;
Ihr Widerspruchsrecht kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
RECHT AUF WIDERRUF DER DATENSCHUTZRECHTLICHEN EINWILLIGUNGSERKLÄRUNG&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, Ihre datenschutzrechtliche Einwilligungserklärung jederzeit zu widerrufen. Durch den Widerruf der Einwilligung wird die Rechtmäßigkeit der aufgrund der Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt.&lt;br /&gt;
&lt;br /&gt;
Automatisierte Entscheidung im Einzelfall einschließlich Profiling&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, nicht einer ausschließlich auf einer automatisierten Verarbeitung – einschließlich Profiling – beruhenden Entscheidung unterworfen zu werden, die Ihnen gegenüber rechtliche Wirkung entfaltet oder Sie in ähnlicher Weise erheblich beeinträchtigt. Dies gilt nicht, wenn die Entscheidung &lt;br /&gt;
&lt;br /&gt;
(1)	für den Abschluss oder die Erfüllung eines Vertrags zwischen Ihnen und dem Verantwortlichen erforderlich ist,&lt;br /&gt;
&lt;br /&gt;
(2)	aufgrund von Rechtsvorschriften der Union oder der Mitgliedstaaten, denen der Verantwortliche unterliegt, zulässig ist und diese Rechtsvorschriften angemessene Maßnahmen zur Wahrung Ihrer Rechte und Freiheiten sowie Ihrer berechtigten Interessen enthalten oder&lt;br /&gt;
&lt;br /&gt;
(3)	mit Ihrer ausdrücklichen Einwilligung erfolgt.&lt;br /&gt;
&lt;br /&gt;
Allerdings dürfen diese Entscheidungen nicht auf besonderen Kategorien personenbezogener Daten nach Art. 9 Abs. 1 DSGVO beruhen, sofern nicht Art. 9 Abs. 2 lit. a oder g DSGVO gilt und angemessene Maßnahmen zum Schutz der Rechte und Freiheiten sowie Ihrer berechtigten Interessen getroffen wurden.&lt;br /&gt;
Hinsichtlich der in (1) und (3) genannten Fälle trifft der Verantwortliche angemessene Maßnahmen, um die Rechte und Freiheiten sowie Ihre berechtigten Interessen zu wahren, wozu mindestens das Recht auf Erwirkung des Eingreifens einer Person seitens des Verantwortlichen, auf Darlegung des eigenen Standpunkts und auf Anfechtung der Entscheidung gehört.&lt;br /&gt;
&lt;br /&gt;
Recht auf Beschwerde bei einer Aufsichtsbehörde&lt;br /&gt;
&lt;br /&gt;
Unbeschadet eines anderweitigen verwaltungsrechtlichen oder gerichtlichen Rechtsbehelfs steht Ihnen das Recht auf Beschwerde bei einer Aufsichtsbehörde, insbesondere in dem Mitgliedstaat ihres Aufenthaltsorts, ihres Arbeitsplatzes oder des Orts des mutmaßlichen Verstoßes, zu, wenn Sie der Ansicht sind, dass die Verarbeitung der Sie betreffenden personenbezogenen Daten gegen die DSGVO verstößt. &lt;br /&gt;
Die Aufsichtsbehörde, bei der die Beschwerde eingereicht wurde, unterrichtet den Beschwerdeführer über den Stand und die Ergebnisse der Beschwerde einschließlich der Möglichkeit eines gerichtlichen Rechtsbehelfs nach Art. 78 DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kriterien zum Ergänzen der Datenschutzerklärung ==&lt;br /&gt;
Umfang, Rechtsgrundlage, Zweck, Dauer, Widerspruchsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
== Komplette Beispiele ==&lt;br /&gt;
Im Zweifel müssen die Beispiele anhand der üblichen Kriterien ergänzt werden (siehe oben)&lt;br /&gt;
=== Beispiel MVZ-Bad Reichenhall ===&lt;br /&gt;
&lt;br /&gt;
Datenschutz&lt;br /&gt;
&lt;br /&gt;
Wir freuen uns über Ihren Besuch auf unserer Webseite sowie über Ihr Interesse an unserem Unternehmen. Wir verstehen Datenschutz als kundenorientiertes Qualitätsmerkmal. Der Schutz Ihrer persönlichen Daten und die Wahrung Ihres Persönlichkeitsrechts sind uns wichtig.&lt;br /&gt;
&lt;br /&gt;
Mit dieser Datenschutzerklärung möchten wir alle Besucher unserer Webseite transparent über Art, Umfang und Zweck der von uns erhobenen, genutzten und verarbeiteten personenbezogenen Daten informieren und Sie über die Ihnen zustehenden Rechte aufklären.&lt;br /&gt;
&lt;br /&gt;
Eine Nutzung unserer Webseite ist grundsätzlich ohne die Angabe von personenbezogener Daten möglich. Sollten Sie jedoch über unsere Webseite Dienste unseres Unternehmens in Anspruch nehmen, kann die Verarbeitung Ihrer personenbezogenen Daten erforderlich werden.&lt;br /&gt;
&lt;br /&gt;
Die beim Besuch unserer Webseiten automatisch erhobenen Daten oder aber bei der Inanspruchnahme von Diensten von Ihnen eingetragenen personenbezogenen Daten, werden gemäß den jeweils aktuellen gesetzlichen Bestimmungen zum Schutz personenbezogener Daten verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Ist eine Verarbeitung Ihrer personenbezogenen Daten erforderlich und besteht für eine solche Verarbeitung keine gesetzliche Grundlage, holen wir grundsätzlich eine Einwilligung für den erforderlichen Zweck der Verarbeitung ein.&lt;br /&gt;
&lt;br /&gt;
Als für die Verarbeitung verantwortliches Unternehmen, haben wir technische und organisatorische Maßnahmen festgelegt, um ein möglichst hohes Schutzniveau Ihrer personenbezogenen Daten sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
Wir weisen jedoch darauf hin, dass eine Datenübertragung über das World Wide Web grundsätzlich Sicherheitslücken aufweisen kann.&lt;br /&gt;
&lt;br /&gt;
Möchten Sie Dienste unseres Unternehmens in Anspruch nehmen und hierfür nicht den Weg der Datenübermittlung über das World Wide Web nutzen wollen, beseht auch die Möglichkeit der telefonischen Kontaktaufnahme.&lt;br /&gt;
&lt;br /&gt;
Kontaktdaten des für die Verarbeitung Verantwortlichen&lt;br /&gt;
&lt;br /&gt;
Verantwortlicher im Sinne der Datenschutz-Grundverordnung, ist:&lt;br /&gt;
&lt;br /&gt;
MVZ Bad Reichenhall&lt;br /&gt;
Salus Gesundheitszentrum GmbH u. Co KG&lt;br /&gt;
Rinckstr. 7-9&lt;br /&gt;
83435 Bad Reichenhall&lt;br /&gt;
info(@)salus-klinik.de&lt;br /&gt;
&lt;br /&gt;
Als Datenschutzbeauftragter ist bestellt:&lt;br /&gt;
&lt;br /&gt;
Herr Stephan Hartinger&lt;br /&gt;
Coseco GmbH&lt;br /&gt;
Telefon: 08232 80988-70&lt;br /&gt;
E-Mail: datenschutz@salus-klinik.de&lt;br /&gt;
&lt;br /&gt;
Erhebung von allgemeinen Zugriffsinformationen&lt;br /&gt;
&lt;br /&gt;
Bei jedem Aufruf unserer Webseite werden automatisch Server Log File Informationen, die Ihr Browser an uns übermittelt, erfasst. Dies sind:&lt;br /&gt;
&lt;br /&gt;
    IP-Adresse (Internet-Protokoll-Adresse) des zugreifenden Computers&lt;br /&gt;
    die Webseite, von der aus Sie uns besuchen (Referrer)&lt;br /&gt;
    die Webseite, die Sie bei uns besuchen&lt;br /&gt;
    das Datum und die Dauer des Besuches&lt;br /&gt;
    Browsertyp und Browser-Einstellungen&lt;br /&gt;
    Betriebssystem&lt;br /&gt;
&lt;br /&gt;
Wir weisen darauf hin, dass diese Daten nicht einer bestimmten Person zugeordnet werden können. Wir verwenden diese technischen Zugriffsinformationen ausschließlich für folgende Zwecke:&lt;br /&gt;
&lt;br /&gt;
    Um die Attraktivität und Bedienbarkeit unserer Webseiten zu verbessern,&lt;br /&gt;
    Um technische Probleme auf unserer Webseite frühzeitig zu erkennen.&lt;br /&gt;
    die Inhalte unserer Internetseite korrekt auszuliefern,&lt;br /&gt;
    und um Strafverfolgungsbehörden im Falle eines Cyberangriffes die zur Strafverfolgung notwendigen Informationen bereitzustellen.&lt;br /&gt;
&lt;br /&gt;
Diese Daten werden für als technische Vorkehrung maximal 7 Tage zum Schutz der Datenverarbeitungssysteme gegen unerlaubte Zugriffe gespeichert.&lt;br /&gt;
&lt;br /&gt;
Erhebung und Weitergabe von personenbezogenen Daten&lt;br /&gt;
&lt;br /&gt;
Wir verwenden Ihre persönlichen Daten nur zu den auf dieser Informationsseite zum Datenschutz angeführten Zwecken.&lt;br /&gt;
Auf unserer Webseite existieren folgende Eingabemasken für die Erhebung von personenbezogenen Daten:&lt;br /&gt;
&lt;br /&gt;
Formulare auf unserer Webseite&lt;br /&gt;
&lt;br /&gt;
Kontaktaufnahme per Mail oder Kontaktformular&lt;br /&gt;
Wir bieten Ihnen auf unserer Seite die Möglichkeit, mit uns per E-Mail und/oder über ein Kontaktformular in Verbindung zu treten.&lt;br /&gt;
Sofern Sie per E-Mail oder über ein Kontaktformular mit uns in Kontakt treten, werden die von Ihnen übermittelten personenbezogenen Daten automatisch gespeichert.&lt;br /&gt;
Solche, auf freiwilliger Basis von Ihnen an uns übermittelten personenbezogenen Daten, werden für Zwecke der Bearbeitung Ihrer Anfrage oder der Kontaktaufnahme zur betroffenen Person gespeichert. Es erfolgt keine Weitergabe dieser personenbezogenen Daten an Dritte.&lt;br /&gt;
&lt;br /&gt;
Wofür werden Cookies verwendet?&lt;br /&gt;
&lt;br /&gt;
Unsere Webseite benutzt an mehreren Stellen sogenannte Cookies. Ausführliche Informationen und welche Cookies zum Einsatz kommen, können Sie unserer Cookie Richtlinie (Link auf Cookie Richtlinie) entnehmen.&lt;br /&gt;
&lt;br /&gt;
Einsatz und Verwendung von Tracking-, Analyse-Tools&lt;br /&gt;
&lt;br /&gt;
Auf dieser Webseite kommen keine Tracking-, Analyse-Tools&lt;br /&gt;
&lt;br /&gt;
Löschung, Sperrung und Dauer der Speicherung von personenbezogenen Daten&lt;br /&gt;
&lt;br /&gt;
Wir verarbeiten und speichern Ihre personenbezogenen Daten nur für den Zeitraum, der zur Erreichung des jeweiligen Speicherungszwecks erforderlich ist oder wie es die vom Gesetzgeber vorgesehenen vielfältigen Aufbewahrungsfristen vorsehen.&lt;br /&gt;
Nach Fortfall eines Speicherungszweckes oder nach Ablauf der vom Gesetzgeber vorgesehenen Aufbewahrungsfrist, werden die personenbezogenen Daten routinemäßig und entsprechend den gesetzlichen Vorschriften für eine weitere Verarbeitung gesperrt oder gelöscht.&lt;br /&gt;
&lt;br /&gt;
Datenschutzrechte der betroffenen Person&lt;br /&gt;
&lt;br /&gt;
Wenn Sie Fragen zu Ihren personenbezogenen Daten haben, können Sie sich jederzeit schriftlich an uns wenden. Sie haben nach DS-GVO folgende Rechte:&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Auskunft (Unterpunkt Art. 15 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben jederzeit das Recht eine Auskunft darüber zu erhalten, welche Kategorien und Informationen zu Ihren personenbezogenen Daten von uns zu welchem Zweck verarbeitet und wie lange und nach welchen Kriterien diese Daten gespeichert werden und ob in diesem Zusammenhang eine automatisierte Entscheidungsfindung einschließlich Profiling angewendet wird. Außerdem haben Sie das Recht zu erfahren welche Empfänger bzw. Kategorien von Empfängern Ihre Daten offengelegt worden sind oder noch offengelegt werden; insbesondere bei Empfängern in Drittländer oder internationalen Organisationen. In diesem Fall haben Sie auch das Recht über geeignete Garantien im Zusammenhang mit der Übermittlung Ihrer personenbezogenen Daten unterrichtet zu werden.&lt;br /&gt;
&lt;br /&gt;
Neben dem Beschwerderecht bei der Aufsichtsbehörde und dem Informationsrecht über die Herkunft Ihrer Daten haben Sie das Recht auf Löschung, Berichtigung sowie das Recht auf Einschränkung für bzw. Widerspruchsrecht gegen eine Verarbeitung Ihrer personenbezogenen Daten.&lt;br /&gt;
&lt;br /&gt;
In allen oben genannten Fällen haben Sie das Recht vom Datenbearbeiter eine kostenfreie Kopie Ihrer personenbezogenen Daten, die von uns verarbeitet werden, zu verlangen. Für alle weiteren Kopien, die Sie beantragen oder die über das Informationsrecht der betroffenen Person hinausgehen, sind wir berechtigt eine angemessene Verwaltungsgebühr zu erheben.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Berichtigung (Art. 16 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, der unverzüglichen Berichtigung Ihrer unrichtigen personenbezogenen Daten zu verlangen und unter Berücksichtigung der Zwecke der Verarbeitung, die Vervollständigung unvollständiger personenbezogener Daten auch mittels einer ergänzenden Erklärung zu verlangen. Möchten Sie das Recht auf Berichtigung in Anspruch nehmen, können Sie sich jederzeit an unseren Datenschutzbeauftragten oder den für die Verarbeitung Verantwortlichen wenden.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Löschung (Art. 17 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, die unverzügliche Löschung Ihrer Daten zu verlangen („Recht auf Vergessenwerden“) insbesondere dann, wenn die Speicherung der Daten nicht mehr notwendig ist, Sie Ihre Einwilligung zur Datenverarbeitung widerrufen, Ihre Daten unrechtmäßig verarbeitet wurden oder unrechtmäßig erhoben wurden und eine Rechtspflicht zum Löschen nach EU- oder nationalem Recht besteht.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Vergessenwerden findet jedoch keine Anwendung, wenn ein überwiegendes Recht auf freie Meinungsäußerung bzw. der Informationsfreiheit besteht, die Datenspeicherung für die Erfüllung einer rechtlichen Verpflichtung (z. B. Aufbewahrungspflichten) erforderlich ist, Archivzwecke der Löschung entgegenstehen oder die Speicherung zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen dient.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Einschränkung (Art. 18 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht auf Einschränkung der Verarbeitung Ihrer Daten durch den für die Verarbeitung Verantwortlichen zu verlangen, wenn die Richtigkeit der Daten von Ihnen bestritten wird, die Verarbeitung unrechtmäßig ist, Sie die Löschung Ihrer personenbezogenen Daten ablehnen und stattdessen eine Einschränkung der Verarbeitung verlangen, wenn die Erforderlichkeit für den Verarbeitungszweck entfällt oder Sie der Verarbeitung gemäß Artikel 21 Absatz 1 widersprochen haben, solange noch nicht feststeht, ob berechtigte Gründe unsererseits gegenüber Ihren überwiegen.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Datenübertragbarkeit (Art. 20 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht auf Übertragbarkeit Ihrer personenbezogenen Daten, welche Sie unserem Unternehmen in Form eines gängigen Formates bereitgestellt haben, damit Sie ohne Behinderung Ihre personenbezogenen Daten an einen anderen Verantwortlichen weiterleiten lassen können, sofern bspw. Ihrerseits eine Einwilligung vorliegt und die Verarbeitung mittels eines automatisierten Verfahrens erfolgt.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Widerspruch (Art. 21 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, jederzeit gegen die Erhebung, Verarbeitung oder Nutzung ihrer personenbezogenen Daten für Zwecke der Direktwerbung oder der Markt- und Meinungsforschung sowie der allgemeinen geschäftsmäßigen Datenverarbeitung zu widersprechen, es sei denn, wir können zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die Ihren Interessen, Rechten und Freiheiten überwiegen.&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus können Sie Ihr Recht auf Widerspruch nicht wahrnehmen, wenn eine Rechtsvorschrift die Erhebung, Verarbeitung oder Nutzung der Daten vorsieht oder zur Erhebung, Verarbeitung oder Nutzung verpflichtet.&lt;br /&gt;
&lt;br /&gt;
Beschwerderecht bei der Datenschutzaufsichtsbehörde (Art. 77 DS-GVO i. V. m § 19 BDSG)&lt;br /&gt;
&lt;br /&gt;
Ihnen wird das Recht zuerkannt, sich bei der zuständigen Aufsichtsbehörde zu beschweren, wenn sie der Ansicht sind, dass ein Verstoß bei der Verarbeitung Ihrer personenbezogenen Daten vorliegt.&lt;br /&gt;
&lt;br /&gt;
Recht auf Widerruf einer datenschutzrechtlichen Einwilligung (Art. 7 Abs. 3 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Eine erteilte Einwilligung für die Verarbeitung Ihrer personenbezogenen Daten können Sie jederzeit und ohne Angaben von Gründen widerrufen. Dies gilt auch für den Widerruf von Einwilligungserklärungen, die vor Inkrafttreten der EU-Datenschutz-Grundverordnung, uns gegenüber erteilt worden ist.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage der Verarbeitung&lt;br /&gt;
&lt;br /&gt;
Bei der Verarbeitung von personenbezogenen Daten, für die wir eine Einwilligung der betroffenen Person einholen, dient Art. 6 Abs. 1, Satz 1 a) der Datenschutz-Grundverordnung (DSGVO) als Rechtsgrundlage.Bei der Verarbeitung von personenbezogenen Daten, die zur Erfüllung eines Vertrages erforderlich sind, dessen Vertragspartei die betroffene Person ist, dient Art. 6 Ab. 1, Satz 1 b) (DSGVO) als Rechtsgrundlage. Diese Regelung umfasst auch Verarbeitungsvorgänge, die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind.&lt;br /&gt;
&lt;br /&gt;
Soweit eine Verarbeitung personenbezogener Daten zur Erfüllung einer rechtlichen Verpflichtung erforderlich ist, denen unser Unternehmen unterliegt, dient Art. 6 Abs. 1, Satz 1 c) (DSGVO) als Rechtsgrundlage.&lt;br /&gt;
&lt;br /&gt;
Ist die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich und überwiegen die Interessen, Grundrechte und Grundfreiheiten des Betroffenen das erstgenannte Interesse nicht, so dient Art. 6 Abs. 1 Satz 1 f) (DSGVO) als Rechtsgrundlage für die Verarbeitung. Das berechtige Interesse unseres Unternehmens liegt in der Durchführung unserer Geschäftstätigkeit sowie in der Analyse, Optimierung und Erhaltung der Sicherheit unseres Onlineangebotes.&lt;br /&gt;
&lt;br /&gt;
Übermittlung von Daten an Dritte&lt;br /&gt;
&lt;br /&gt;
Wir verkaufen oder verleihen generell keine Nutzerdaten. Eine Übermittlung an Dritte über den in dieser Datenschutzerklärung beschriebenen Rahmen hinaus, findet nur dann statt, wenn dies zur Abwicklung des jeweiligen angeforderten Dienstes nötig ist.&lt;br /&gt;
&lt;br /&gt;
Wir übermitteln Daten nur dann, wenn dazu eine rechtliche Verpflichtung besteht. Das ist dann der Fall, wenn staatliche Einrichtungen (z.B. Strafverfolgungsbehörden) schriftlich um Auskunft ersuchen oder eine richterliche Verfügung vorliegt.&lt;br /&gt;
&lt;br /&gt;
Eine Übermittlung von personenbezogenen Daten in sogenannte Drittstaaten außerhalb des EU/ EWR-Raumes findet nicht statt.&lt;br /&gt;
&lt;br /&gt;
Gesetzliche oder vertragliche Vorschriften zur Bereitstellung von personenbezogenen Daten sowie mögliche Folgen der Nichtbereitstellung&lt;br /&gt;
&lt;br /&gt;
Wir weisen hiermit darauf hin, dass die Bereitstellung von personenbezogenen Daten in bestimmten Fällen (z.B. Steuervorschriften) gesetzlich vorgeschrieben ist oder sich aus vertraglichen Regelungen (z.B. Angaben zum/des Vertragspartners) ergeben kann. Beispielsweise kann es für einen Vertragsabschluss erforderlich sein, dass die betroffene Person/der Vertragspartner seine personenbezogenen Daten zur Verfügung stellen muss, damit sein Anliegen (z.B. Bestellung) überhaupt von uns bearbeitet werden kann. Eine Verpflichtung zur Bereitstellung von personenbezogenen Daten ergibt sich vor allem bei Vertragsabschlüssen. Sollten in diesem Fall keine personenbezogenen Daten bereitgestellt werden, kann der Vertrag mit der betroffenen Person nicht abgeschlossen werden. Vor einer Bereitstellung personenbezogener Daten durch den Betroffenen kann sich der Betroffene an unseren Datenschutzbeauftragten oder an den für die Verarbeitung Verantwortlichen wenden. Der Datenschutzbeauftragte oder der für die Verarbeitung Verantwortliche klärt dann den Betroffenen darüber auf, ob die Bereitstellung der benötigten personenbezogenen Daten gesetzlich oder vertraglich vorgeschrieben bzw. für den Vertragsabschluss erforderlich ist und ob sich aus den Anliegen der betroffenen Person eine Verpflichtung ergibt, die personenbezogenen Daten bereitzustellen bzw. welche Folgen eine Nichtbereitstellung der gewünschten Daten für den Betroffenen hat.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel Justizministerium BW ===&lt;br /&gt;
==== Datenschutzhinweis ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutzhinweis&lt;br /&gt;
Die nachfolgenden Datenschutzhinweise geben einen Überblick über die Erhebung und Verarbeitung Ihrer Daten. Die vollständigen Informationen ergeben sich aus der Datenschutzerklärung.&lt;br /&gt;
&lt;br /&gt;
Welche Daten erfassen wir von Ihnen?&lt;br /&gt;
1. Beim Aufruf unserer Webseite:&lt;br /&gt;
&lt;br /&gt;
Ihre IP-Adresse zusammen mit dem Zeitpunkt und Inhalt Ihres Abrufs einschließlich der übertragenen Datenmenge und der Meldung, ob der Abruf erfolgreich war. Diese Daten werden nach Ende des Zugriffs auf die Webseite gelöscht.&lt;br /&gt;
&lt;br /&gt;
2. Aufgrund ihrer Eingaben auf unserer Webseite:&lt;br /&gt;
&lt;br /&gt;
Auf dem Kontaktformular: Ihr Vor- und Nachname und Ihre E-Mail-Adresse&lt;br /&gt;
Wenn Sie bei uns Publikationen bestellen: Den Inhalt Ihrer Bestellung und sowie Ihr Geschlecht, Ihren Nachnamen, Ihre Anschrift und Ihre E-Mail-Adresse&lt;br /&gt;
Wenn Sie bei uns den Newsletter bestellen: Ihre E-Mail-Adresse&lt;br /&gt;
3. Weitere Daten erheben wir nicht.&lt;br /&gt;
Auf welche Weise erheben wir Ihre Daten?&lt;br /&gt;
Die Daten, die wir bei jedem Zugriff erheben, protokollieren wir automatisiert; ansonsten nur aufgrund Ihrer Eingaben und beim Bestellservice für Broschüren durch einen temporären Cookie.&lt;br /&gt;
Wofür nutzen wir Ihre Daten?&lt;br /&gt;
Ausschließlich zur Bereitstellung, Optimierung und Sicherheit unseres Internetangebots&lt;br /&gt;
Mit Ihrer Einwilligung zur Entgegenahme Ihrer Mitteilung und zur Abwicklung Ihrer Bestellung&lt;br /&gt;
Wir nutzen Ihre Daten auch&lt;br /&gt;
nicht zur Profilbildung&lt;br /&gt;
nicht für Werbung&lt;br /&gt;
grundätzlich nicht zur Weitergabe an Dritte, außer:&lt;br /&gt;
&lt;br /&gt;
Bei der Bestellung von Publikationen teilen wir Ihre Adressdaten dem Versanddienstleister mit&lt;br /&gt;
Zur Verfolgung rechtlicher Interessen, insbesondere wenn die Daten im Zusammenhang mit einem Angriff auf unsere IT-Strukturen stehen&lt;br /&gt;
Welche Rechte haben Sie:&lt;br /&gt;
Auskunft&lt;br /&gt;
Löschung&lt;br /&gt;
Berichtigung&lt;br /&gt;
Widerspruch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== Datenschutz.org====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutzerklärung&lt;br /&gt;
Das Bundesministerium der Justiz und für Verbraucherschutz nimmt den Schutz Ihrer personenbezogenen Daten sehr ernst. Wir möchten, dass Sie wissen, wann wir welche Daten erheben und wie wir sie verwenden. Wir haben technische und organisatorische Maßnahmen getroffen, die sicherstellen, dass die Vorschriften über den Datenschutz sowohl von uns als auch von externen Dienstleistern beachtet werden. Im Zuge der Weiterentwicklung unserer Webseiten und der Implementierung neuer Technologien, um unseren Service für Sie zu verbessern, können auch Änderungen dieser Datenschutzerklärung erforderlich werden. Daher empfehlen wir Ihnen, sich diese Datenschutzerklärung ab und zu erneut durchzulesen.&lt;br /&gt;
&lt;br /&gt;
Zugriff auf das Internetangebot&lt;br /&gt;
Jeder Zugriff auf das Internetangebot des Bundesministeriums der Justiz und für Verbraucherschutz wird in einer Protokolldatei gespeichert. In der Protokolldatei werden folgende Daten maximal 14 Tage gespeichert:&lt;br /&gt;
&lt;br /&gt;
Name der abgerufenen Datei&lt;br /&gt;
Datum und Uhrzeit des Abrufs&lt;br /&gt;
übertragene Datenmenge&lt;br /&gt;
Meldung, ob der Abruf erfolgreich war&lt;br /&gt;
Die gespeicherten Daten werden nur zur Optimierung des Internetangebotes ausgewertet.&lt;br /&gt;
Wenn Sie Informationsmaterial, Newsletter, Autogrammkarten oder Broschüren bestellen, fragen wir Sie nach Ihrem Namen und nach anderen persönlichen Informationen. Es unterliegt Ihrer freien Entscheidung, ob Sie diese Daten eingeben. Ihre Angaben speichern wir auf besonders geschützten Servern in Deutschland. Der Zugriff darauf ist nur wenigen besonders befugten Personen möglich, die mit der technischen, kaufmännischen oder redaktionellen Betreuung der Server befasst sind.&lt;br /&gt;
&lt;br /&gt;
Weitergabe personenbezogener Daten an Dritte&lt;br /&gt;
Daten, die beim Zugriff auf das Internetangebot des Bundesministeriums der Justiz und für Verbraucherschutz protokolliert worden sind, werden an Dritte nur übermittelt, soweit wir gesetzlich oder durch Gerichtsentscheidung dazu verpflichtet sind oder die Weitergabe im Falle von Angriffen auf die Internetinfrastruktur des BMJV zur Rechts- oder Strafverfolgung erforderlich ist. Eine Weitergabe zu anderen nichtkommerziellen oder zu kommerziellen Zwecken erfolgt nicht.&lt;br /&gt;
&lt;br /&gt;
Im Falle der Bestellung von Informationsmaterial verwenden wir die von Ihnen eingegebenen personenbezogenen Informationen nur innerhalb des Bundesministeriums der Justiz und für Verbraucherschutz und der mit dem Broschürenversand beauftragten Unternehmen. Wir geben sie nicht ohne Ihre ausdrückliche Einwilligung an Dritte weiter.&lt;br /&gt;
&lt;br /&gt;
Schutz personenbezogener Daten im Rahmen der europäischen Zusammenarbeit im Verbraucherschutz&lt;br /&gt;
Die Erklärung zum Schutz personenbezogener Daten im Rahmen der europäischen Zusammenarbeit im Verbraucherschutz finden Sie hier.&lt;br /&gt;
&lt;br /&gt;
Einsatz von Cookies&lt;br /&gt;
Auf den Seiten unseres Bestellservices für Broschüren kommt ein Cookie zum Einsatz, das für die Zeit ihres Besuchs auf der Website gültig ist. Dies ist für die Funktion des Warenkorbs aus technischen Gründen notwendig. Die meisten Browser sind so eingestellt, dass sie Cookies automatisch akzeptieren. Sie können das Speichern von Cookies jedoch deaktivieren oder Ihren Browser so einstellen, dass Cookies nur für die Dauer der jeweiligen Verbindung zum Internet gespeichert werden.&lt;br /&gt;
&lt;br /&gt;
Minderjährigenschutz&lt;br /&gt;
Personen unter 18 Jahren sollten ohne Zustimmung der Eltern oder Erziehungsberechtigten keine personenbezogenen Daten an uns übermitteln. Wir fordern keine personenbezogenen Daten von Kindern und Jugendlichen an. Wissentlich sammeln wir solche Daten nicht und geben sie auch nicht an Dritte weiter.&lt;br /&gt;
&lt;br /&gt;
Links zu Webseiten anderer Anbieter&lt;br /&gt;
Unser Online-Angebot enthält Links zu Webseiten anderer Anbieter. Wir haben keinen Einfluss darauf, dass diese Anbieter die Datenschutzbestimmungen einhalten.&lt;br /&gt;
Behördliche Datenschutzbeauftragte&lt;br /&gt;
Frau Elisabeth Duhr&lt;br /&gt;
Bundesministerium der Justiz und für Verbraucherschutz &lt;br /&gt;
Mohrenstr. 37&lt;br /&gt;
10117 Berlin&lt;br /&gt;
&lt;br /&gt;
Telefon: +49 (0) 30 18 580 - 0&lt;br /&gt;
E-Mail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Datenschutz.org ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATENSCHUTZERKLÄRUNG&lt;br /&gt;
&lt;br /&gt;
GELTUNGSBEREICH&lt;br /&gt;
&lt;br /&gt;
Diese Datenschutzerklärung soll die Nutzer dieser Website gemäß Bundesdatenschutzgesetz und Telemediengesetz über die Art, den Umfang und den Zweck der Erhebung und Verwendung personenbezogener Daten durch den Websitebetreiber [Ihre Kontaktdaten einfügen] informieren.&lt;br /&gt;
Der Websitebetreiber nimmt Ihren Datenschutz sehr ernst und behandelt Ihre personenbezogenen Daten vertraulich und entsprechend der gesetzlichen Vorschriften.&lt;br /&gt;
Bedenken Sie, dass die Datenübertragung im Internet grundsätzlich mit Sicherheitslücken bedacht sein kann. Ein vollumfänglicher Schutz vor dem Zugriff durch Fremde ist nicht realisierbar.&lt;br /&gt;
&lt;br /&gt;
ZUGRIFFSDATEN&lt;br /&gt;
&lt;br /&gt;
Der Websitebetreiber bzw. Seitenprovider erhebt Daten über Zugriffe auf die Seite und speichert diese als „Server-Logfiles“ ab. Folgende Daten werden so protokolliert:&lt;br /&gt;
Besuchte Website&lt;br /&gt;
Uhrzeit zum Zeitpunkt des Zugriffes&lt;br /&gt;
Menge der gesendeten Daten in Byte&lt;br /&gt;
Quelle/Verweis, von welchem Sie auf die Seite gelangten&lt;br /&gt;
Verwendeter Browser&lt;br /&gt;
Verwendetes Betriebssystem&lt;br /&gt;
Verwendete IP-Adresse&lt;br /&gt;
Die erhobenen Daten dienen lediglich statistischen Auswertungen und zur Verbesserung der Website. Der Websitebetreiber behält sich allerdings vor, die Server-Logfiles nachträglich zu überprüfen, sollten konkrete Anhaltspunkte auf eine rechtswidrige Nutzung hinweisen.&lt;br /&gt;
&lt;br /&gt;
COOKIES&lt;br /&gt;
Diese Website verwendet Cookies. Dabei handelt es sich um kleine Textdateien, welche auf Ihrem Endgerät gespeichert werden. Ihr Browser greift auf diese Dateien zu. Durch den Einsatz von Cookies erhöht sich die Benutzerfreundlichkeit und Sicherheit dieser Website.&lt;br /&gt;
Gängige Browser bieten die Einstellungsoption, Cookies nicht zuzulassen. Hinweis: Es ist nicht gewährleistet, dass Sie auf alle Funktionen dieser Website ohne Einschränkungen zugreifen können, wenn Sie entsprechende Einstellungen vornehmen.&lt;br /&gt;
&lt;br /&gt;
UMGANG MIT PERSONENBEZOGENEN DATEN&lt;br /&gt;
&lt;br /&gt;
Der Websitebetreiber erhebt, nutzt und gibt Ihre personenbezogenen Daten nur dann weiter, wenn dies im gesetzlichen Rahmen erlaubt ist oder Sie in die Datenerhebung einwilligen.&lt;br /&gt;
Als personenbezogene Daten gelten sämtliche Informationen, welche dazu dienen, Ihre Person zu bestimmen und welche zu Ihnen zurückverfolgt werden können – also beispielsweise Ihr Name, Ihre E-Mail-Adresse und Telefonnummer.&lt;br /&gt;
&lt;br /&gt;
UMGANG MIT KONTAKTDATEN&lt;br /&gt;
&lt;br /&gt;
Nehmen Sie mit dem Websitebetreiber durch die angebotenen Kontaktmöglichkeiten Verbindung auf, werden Ihre Angaben gespeichert, damit auf diese zur Bearbeitung und Beantwortung Ihrer Anfrage zurückgegriffen werden kann. Ohne Ihre Einwilligung werden diese Daten nicht an Dritte weitergegeben.&lt;br /&gt;
&lt;br /&gt;
UMGANG MIT KOMMENTAREN UND BEITRÄGEN&lt;br /&gt;
&lt;br /&gt;
Hinterlassen Sie auf dieser Website einen Beitrag oder Kommentar, wird Ihre IP-Adresse gespeichert. Dies dient der Sicherheit des Websitebetreibers: Verstößt Ihr Text gegen das Recht, möchte er Ihre Identität nachverfolgen können.&lt;br /&gt;
&lt;br /&gt;
ABONNEMENTS&lt;br /&gt;
&lt;br /&gt;
Sie haben die Möglichkeit, sowohl die gesamte Website als auch Nachfolgekommentare auf Ihren Beitrag zu abonnieren. Sie erhalten eine E-Mail zur Bestätigung Ihrer E-Mail-Adresse. Neben dieser werden keine weiteren Daten erhoben. Die gespeicherten Daten werden nicht an Dritte weitergereicht. Sie können ein Abonnement jederzeit abbestellen.&lt;br /&gt;
&lt;br /&gt;
GOOGLE ANALYTICS&lt;br /&gt;
Diese Website nutzt den Dienst „Google Analytics“, welcher von der Google Inc. (1600 Amphitheatre Parkway Mountain View, CA 94043, USA) angeboten wird, zur Analyse der Websitebenutzung durch Nutzer. Der Dienst verwendet „Cookies“ – Textdateien, welche auf Ihrem Endgerät gespeichert werden. Die durch die Cookies gesammelten Informationen werden im Regelfall an einen Google-Server in den USA gesandt und dort gespeichert.&lt;br /&gt;
Auf dieser Website greift die IP-Anonymisierung. Die IP-Adresse der Nutzer wird innerhalb der Mitgliedsstaaten der EU und des Europäischen Wirtschaftsraum gekürzt. Durch diese Kürzung entfällt der Personenbezug Ihrer IP-Adresse. Im Rahmen der Vereinbarung zur Auftragsdatenvereinbarung, welche die Websitebetreiber mit der Google Inc. geschlossen haben, erstellt diese mithilfe der gesammelten Informationen eine Auswertung der Websitenutzung und der Websiteaktivität und erbringt mit der Internetnutzung verbundene Dienstleistungen.&lt;br /&gt;
Sie haben die Möglichkeit, die Speicherung des Cookies auf Ihrem Gerät zu verhindern, indem Sie in Ihrem Browser entsprechende Einstellungen vornehmen. Es ist nicht gewährleistet, dass Sie auf alle Funktionen dieser Website ohne Einschränkungen zugreifen können, wenn Ihr Browser keine Cookies zulässt.&lt;br /&gt;
Weiterhin können Sie durch ein Browser-Plugin verhindern, dass die durch Cookies gesammelten Informationen (inklusive Ihrer IP-Adresse) an die Google Inc. gesendet und von der Google Inc. genutzt werden. Folgender Link führt Sie zu dem entsprechenden Plugin: https://tools.google.com/dlpage/gaoptout?hl=de Alternativ verhindern Sie mit einem Klick auf diesen Link (WICHTIG! Opt-Out-Link einfügen), dass Google Analytics innerhalb dieser Website Daten über Sie erfasst. Mit dem Klick auf obigen Link laden Sie ein „Opt-Out-Cookie“ herunter. Ihr Browser muss die Speicherung von Cookies also hierzu grundsätzlich erlauben. Löschen Sie Ihre Cookies regelmäßig, ist ein erneuter Klick auf den Link bei jedem Besuch dieser Website vonnöten.&lt;br /&gt;
Hier finden Sie weitere Informationen zur Datennutzung durch die Google Inc.: https://support.google.com/analytics/answer/6004245?hl=de&lt;br /&gt;
&lt;br /&gt;
NUTZUNG VON SOCIAL MEDIA PLUGINS&lt;br /&gt;
&lt;br /&gt;
FACEBOOK&lt;br /&gt;
Diese Website verwendet Facebook Social Plugins, welches von der Facebook Inc. (1 Hacker Way, Menlo Park, California 94025, USA) betrieben wird. Erkennbar sind die Einbindungen an dem Facebook-Logo bzw. an den Begriffen „Like“, „Gefällt mir“, „Teilen“ in den Farben Facebooks (Blau und Weiß). Informationen zu allen Facebook-Plugins finden Sie im folgenden Link: https://developers.facebook.com/docs/plugins/&lt;br /&gt;
Das Plugin stellt eine direkte Verbindung zwischen Ihrem Browser und den Facebook-Servern her. Der Websitebetreiber hat keinerlei Einfluss auf die Natur und den Umfang der Daten, welche das Plugin an die Server der Facebook Inc. übermittelt. Informationen dazu finden Sie hier: https://www.facebook.com/help/186325668085084 Das Plugin informiert die Facebook Inc. darüber, dass Sie Nutzer diese Website besucht hat. Es besteht hierbei die Möglichkeit, dass Ihre IP-Adresse gespeichert wird. Sind Sie während des Besuchs auf dieser Website in Ihrem Facebook-Konto eingeloggt, werden die genannten Informationen mit diesem verknüpft.&lt;br /&gt;
Nutzen Sie die Funktionen des Plugins – etwa indem Sie einen Beitrag teilen oder „liken“ – werden die entsprechenden Informationen ebenfalls an die Facebook Inc. übermittelt.&lt;br /&gt;
Möchten Sie verhindern, dass die Facebook. Inc. diese Daten mit Ihrem Facebook-Konto verknüpft, loggen Sie sich bitte vor dem Besuch dieser Website bei Facebook aus.&lt;br /&gt;
&lt;br /&gt;
GOOGLE+&lt;br /&gt;
Weiterhin nutzt diese Website die „+1“-Schaltfläche von Google Plus. Betrieben wird diese von der Google Inc. (1600 Amphitheatre Parkway Mountain View, CA 94043, USA). Besuchen Sie eine Seite, welche die „+1“-Schaltfläche enthält, entsteht eine direkte Verbindung zwischen Ihrem Browser und den Google-Servern. Der Websitebetreiber hat daher keinerlei Einfluss auf die Natur und den Umfang der Daten, welche das Plugin an die Server der Google Inc. übermitteln. Klicken Sie auf den „+1“-Button, während Sie in Google + angemeldet sind, teilen Sie die Inhalte der Seite auf Ihrem öffentlichen Profil.&lt;br /&gt;
Personenbezogene Daten werden laut der Google Inc. erst dann erhoben, wenn Sie auf die Schaltfläche klicken. Auch bei eingeloggten Google-Nutzern wird unter anderem die IP-Adresse gespeichert. Möchten Sie verhindern, dass die Google Inc. diese Daten speichert und mit Ihrem Konto verknüpft, loggen Sie sich bitte vor dem Besuch dieser Website aus.&lt;br /&gt;
Informationen zur „+1“-Schaltfläche finden Sie hier: https://developers.google.com/+/web/buttons-policy.&lt;br /&gt;
Weiterhin nutzt diese Website Twitter-Schlatflächen. Betrieben werden diese von der Twitter Inc. (795 Folsom St., Suite 600, San Francisco, CA 94107, USA). Besuchen Sie eine Seite, welche eine solche Schaltfläche enthält, entsteht eine direkte Verbindung zwischen Ihrem Browser und den Twitter-Servern. Der Websitebetreiber hat daher keinerlei Einfluss über die Natur und den Umfang der Daten, welche das Plugin an die Server Twitter Inc. übermittelt.&lt;br /&gt;
Gemäß der Twitter Inc. wird dabei allein Ihre IP-Adresse erhoben und gespeichert. Informationen zu dem Umgang mit personenbezogenen Daten durch die Twitter Inc. finden Sie hier: https://twitter.com/privacy?lang=de&lt;br /&gt;
&lt;br /&gt;
NEWSLETTER ABONNEMENT&lt;br /&gt;
&lt;br /&gt;
Der Websitebetreiber bietet Ihnen einen Newsletter an, in welchem er Sie über aktuelle Geschehnisse und Angebote informiert. Möchten Sie den Newsletter abonnieren, müssen Sie eine valide E-Mail-Adresse angeben.&lt;br /&gt;
Rechte des Nutzers: Auskunft, Berichtigung und Löschung&lt;br /&gt;
Sie als Nutzer erhalten auf Antrag Ihrerseits kostenlose Auskunft darüber, welche personenbezogenen Daten über Sie gespeichert wurden. Sofern Ihr Wunsch nicht mit einer gesetzlichen Pflicht zur Aufbewahrung von Daten (z. B. Vorratsdatenspeicherung) kollidiert, haben Sie ein Anrecht auf Berichtigung falscher Daten und auf die Sperrung oder Löschung Ihrer personenbezogenen Daten.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Standard Beispiel ohne Plugins etc. ===&lt;br /&gt;
Datenschutz&lt;br /&gt;
&lt;br /&gt;
Wir freuen uns über Ihren Besuch auf unserer Webseite sowie über Ihr Interesse an unserem Unternehmen.&lt;br /&gt;
&lt;br /&gt;
Wir verstehen Datenschutz als kundenorientiertes Qualitätsmerkmal. Der Schutz Ihrer persönlichen Daten und die Wahrung Ihres Persönlichkeitsrechts sind uns wichtig.&lt;br /&gt;
&lt;br /&gt;
Mit dieser Datenschutzerklärung möchten wir alle Besucher unserer Webseite transparent über Art, Umfang und Zweck der von uns erhobenen, genutzten und verarbeiteten personenbezogenen Daten informieren und Sie über die Ihnen zustehenden Rechte aufklären.&lt;br /&gt;
&lt;br /&gt;
Eine Nutzung unserer Webseite ist grundsätzlich ohne die Angabe von personenbezogener Daten möglich. Sollten Sie jedoch über unsere Webseite Dienste unseres Unternehmens in Anspruch nehmen, kann die Verarbeitung Ihrer personenbezogenen Daten erforderlich werden.&lt;br /&gt;
&lt;br /&gt;
Die beim Besuch unserer Webseiten automatisch erhobenen Daten oder aber bei der Inanspruchnahme von Diensten von Ihnen eingetragenen personenbezogenen Daten, werden gemäß den jeweils aktuellen gesetzlichen Bestimmungen zum Schutz personenbezogener Daten verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Ist eine Verarbeitung Ihrer personenbezogenen Daten erforderlich und besteht für eine solche Verarbeitung keine gesetzliche Grundlage, holen wir grundsätzlich eine Einwilligung für den erforderlichen Zweck der Verarbeitung ein.&lt;br /&gt;
Als für die Verarbeitung verantwortliches Unternehmen, haben wir technische und organisatorische Maßnahmen festgelegt, um ein möglichst hohes Schutzniveau Ihrer personenbezogenen Daten sicherzustellen. Wir weisen jedoch darauf hin, dass eine Datenübertragung über das World Wide Web grundsätzlich Sicherheitslücken aufweisen kann.&lt;br /&gt;
&lt;br /&gt;
Möchten Sie Dienste unseres Unternehmens in Anspruch nehmen und hierfür nicht den Weg der Datenübermittlung über das World Wide Web nutzen wollen, beseht auch die Möglichkeit der telefonischen Kontaktaufnahme.&lt;br /&gt;
&lt;br /&gt;
NAME UND ANSCHRIFT DES VERANTWORTLICHEN&lt;br /&gt;
&lt;br /&gt;
Der Verantwortliche im Sinne der Datenschutz-Grundverordnung und anderer nationaler Datenschutzgesetze der Mitgliedsstaaten sowie sonstiger datenschutzrechtlicher Bestimmungen ist:&lt;br /&gt;
&lt;br /&gt;
ADRESSE&lt;br /&gt;
&lt;br /&gt;
Sie können diese Website in der Regel ohne Angabe personenbezogener Daten nutzen. Soweit wir personenbezogene Daten erfassen (z.B. wenn Sie mit uns in Kontakt treten möchten), erfolgt dies stets gemäß den gesetzlichen Datenschutzvorschriften, sowie dieser Datenschutzerklärung. Ohne ausdrückliche Zustimmung werden Ihre Daten niemals an Dritte weitergegeben.&lt;br /&gt;
&lt;br /&gt;
VERSCHLÜSSELTE DATENÜBERTRAGUNG&lt;br /&gt;
&lt;br /&gt;
Auf allen Seiten unseres Internetangebots, auf denen Sie persönliche Daten eingeben - so z. B. in unserem Kontaktformular, werden Ihre Daten direkt bei der Übertragung verschlüsselt. Alle datenschutzrelevanten Informationen (wie Name und Adresse) werden geschützt gespeichert.&lt;br /&gt;
&lt;br /&gt;
Wir möchten Sie darauf hinweisen, dass die Datenübertragung im Internet (z .B. wenn Sie uns eine E-Mail schreiben) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist generell nicht möglich.&lt;br /&gt;
&lt;br /&gt;
UMFANG DER VERARBEITUNG PERSONENBEZOGENER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir verarbeiten personenbezogene Daten unserer Nutzer grundsätzlich nur, soweit dies für die Funktion der Website und die Bereitstellung der Inhalte und angebotenen Leistungen erforderlich ist. Die Verarbeitung personenbezogener Daten unserer Nutzer erfolgt regelmäßig nur nach Einwilligung des Nutzers. Ausnahmen gelten, wenn eine vorherige Einholung einer Einwilligung aus tatsächlichen Gründen nicht möglich ist und die Verarbeitung der Daten durch gesetzliche Vorschriften gestattet ist.&lt;br /&gt;
&lt;br /&gt;
DATENLÖSCHUNG UND SPEICHERDAUER&lt;br /&gt;
&lt;br /&gt;
Die personenbezogenen Daten der betroffenen Person werden gelöscht oder gesperrt, sobald der Zweck der Speicherung entfällt. Eine Speicherung kann darüber hinaus erfolgen, wenn dies durch den europäischen oder nationalen Gesetzgeber in unionsrechtlichen Verordnungen, Gesetzen oder sonstigen Vorschriften, denen der Verantwortliche unterliegt, vorgesehen wurde. Eine Sperrung oder Löschung der Daten erfolgt auch dann, wenn eine durch die genannten Normen vorgeschriebene Speicherfrist abläuft, es sei denn, dass eine Erforderlichkeit zur weiteren Speicherung der Daten für einen Vertragsabschluss oder eine Vertragserfüllung besteht.&lt;br /&gt;
&lt;br /&gt;
BEREITSTELLUNG DER WEBSITE UND ERSTELLUNG VON LOGFILES&lt;br /&gt;
&lt;br /&gt;
Bei jedem Aufruf unserer Internetseite erfasst unser System automatisiert Daten und Informationen vom Computersystem des aufrufenden Rechners. Folgende Daten werden hierbei erhoben:&lt;br /&gt;
&lt;br /&gt;
Informationen über den Browsertyp und die verwendete Version&lt;br /&gt;
Das Betriebssystem des Nutzers&lt;br /&gt;
Den Internet-Service-Provider des Nutzers&lt;br /&gt;
Die IP-Adresse des Nutzers&lt;br /&gt;
Datum und Uhrzeit des Zugriffs&lt;br /&gt;
Websites, von denen das System des Nutzers auf unsere Internetseite gelangt&lt;br /&gt;
Websites, die vom System des Nutzers über unsere Website aufgerufen werden&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. IP-Adressen werden im Logfile teilanonymisiert gespeichert, ihnen fehlt dadurch das Merkmal der Personenbezogenheit. Es werden keine Daten gespeichert, die eine Zuordnung der Daten zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die vorübergehende Speicherung der Daten ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Die vorübergehende Speicherung der IP-Adresse durch das System ist notwendig, um eine Auslieferung der Website an den Rechner des Nutzers zu ermöglichen. Hierfür muss die IP-Adresse des Nutzers für die Dauer der Sitzung gespeichert bleiben.&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Im Falle der Erfassung der Daten zur Bereitstellung der Website ist dies der Fall, wenn die jeweilige Sitzung beendet ist. Widerspruchs- und Beseitigungsmöglichkeit Die Erfassung der Daten zur Bereitstellung der Website und die Speicherung der Daten in Logfiles ist für den Betrieb der Internetseite zwingend erforderlich. Es besteht folglich seitens des Nutzers keine Widerspruchsmöglichkeit.&lt;br /&gt;
&lt;br /&gt;
ERSTELLUNG DER ZUGRIFFSSTATISTIK&lt;br /&gt;
&lt;br /&gt;
Diese Website verwendet Webalizer. Bei diesem Produkt handelt es sich um einen Web-Analyse-Dienst, der Daten über das Verhalten von Besuchern von Webseiten erhebt, sammelt und auswertet. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Webseite eine betroffene Person auf eine Webseite gekommen ist (wenn die Person zuvor einen Link geklickt hat), auf welche Unterseiten der Webseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde.&lt;br /&gt;
&lt;br /&gt;
Der Zweck der Verwendung ist die Auswertung der Nutzung von Webseiten zur Verbesserung des Angebots und der Bedienung. Durch die Auswertung kann in Erfahrung gebracht werden, wie die jeweilige Website genutzt wird und so das Angebot der Webseite stetig optimiert werden. Die auf diese Weise zu Analysezwecken erhoben Daten der Nutzer werden durch technische Vorkehrungen anonymisiert. Daher ist eine Zuordnung der Daten zum aufrufenden Nutzer nicht mehr möglich.&lt;br /&gt;
&lt;br /&gt;
Die Daten werden nicht gemeinsam mit sonstigen personenbezogenen Daten der Nutzer gespeichert. In diesen Zwecken liegt auch das berechtigte Interesse des Webseitenbetreibers in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1 Buchstabe f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Der Dienst speichert die verarbeiteten Daten für 190 Tage.&lt;br /&gt;
&lt;br /&gt;
Der Dienst nutzt keine Cookies, sondern verarbeiten ausschließlich die Daten des Logfiles (siehe Erstellung von Logfiles). IP-Adressen werden im Logfile teilanonymisiert gespeichert, ihnen fehlt darum das Merkmal der Personenbezogenheit.&lt;br /&gt;
&lt;br /&gt;
VERWENDUNG VON COOKIES&lt;br /&gt;
&lt;br /&gt;
Unsere Webseite verwendet Cookies. Bei Cookies handelt es sich um Textdateien, die im Internetbrowser bzw. vom Internetbrowser auf dem Computersystem des Nutzers gespeichert werden. Dieser Cookie enthält eine charakteristische Zeichenfolge. Dadurch können wir den Browser beim erneuten Aufrufen der Website wiedererkennen. Durch den Einsatz von Cookies können wir unsere Website nutzerfreundlicher gestalten. Einige Elemente unserer Internetseite erfordern es, dass der aufrufende Browser auch nach einem Seitenwechsel identifiziert werden kann.&lt;br /&gt;
&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Die durch technisch notwendige Cookies erhobenen Nutzerdaten werden nicht zur Erstellung von Nutzerprofilen verwendet. &lt;br /&gt;
&lt;br /&gt;
KONTAKTFORMULAR UND E-MAIL KONTAKT&lt;br /&gt;
&lt;br /&gt;
Auf unserer Website können Sie Kontaktformulare zur elektronische Kontaktaufnahme nutzen.&lt;br /&gt;
&lt;br /&gt;
Nehmen Sie diese Möglichkeit wahr, so werden die von Ihnen in der Eingabemaske eingegeben Daten an uns übermittelt und gespeichert. Im Zeitpunkt der Absendung der Nachricht werden zudem folgende Daten gespeichert:&lt;br /&gt;
&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Absendevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse möglich.&lt;br /&gt;
&lt;br /&gt;
In diesem Fall werden die mit der E-Mail übermittelten personenbezogenen Daten des Nutzers gespeichert. Die Daten werden ausschließlich für die Verarbeitung der Konversation verwendet.&lt;br /&gt;
&lt;br /&gt;
Es erfolgt in diesem Zusammenhang keine Weitergabe der Daten an Dritte.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten, die im Zuge einer Übersendung einer E-Mail übermittelt werden, ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Zielt der E-Mail-Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
&lt;br /&gt;
Die Verarbeitung der personenbezogenen Daten aus der Eingabemaske dient uns allein zur Bearbeitung der Kontaktaufnahme. Im Falle einer Kontaktaufnahme per E-Mail liegt hieran auch das erforderliche berechtigte Interesse an der Verarbeitung der Daten. Die sonstigen während des Absendevorgangs verarbeiteten personenbezogenen Daten dienen dazu, einen Missbrauch des Kontaktformulars zu verhindern und die Sicherheit unserer informationstechnischen Systeme sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Für die personenbezogenen Daten aus der Eingabemaske des Kontaktformulars und diejenigen, die per E-Mail übersandt wurden, ist dies dann der Fall, wenn die jeweilige Konversation mit dem Nutzer beendet ist.&lt;br /&gt;
&lt;br /&gt;
Beendet ist die Konversation dann, wenn sich aus den Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist.&lt;br /&gt;
&lt;br /&gt;
AUSKUNFT, BERICHTIGUNG UND LÖSCHUNG&lt;br /&gt;
&lt;br /&gt;
Sie als Nutzer erhalten auf Antrag Ihrerseits kostenlose Auskunft darüber, welche personenbezogenen Daten über Sie gespeichert wurden. Sofern Ihr Wunsch nicht mit einer gesetzlichen Pflicht zur Aufbewahrung von Daten (z. B. Vorratsdatenspeicherung) kollidiert, haben Sie ein Anrecht auf Berichtigung falscher Daten und auf die Sperrung oder Löschung Ihrer personenbezogenen Daten.&lt;br /&gt;
&lt;br /&gt;
== Assistent Entwurf ==&lt;br /&gt;
https://www.ldi.nrw.de/mainmenu_Datenschutz/submenu_Datenschutzbeauftragte/Inhalt/Betriebliche_Datenschutzbeauftragte/Inhalt/Check/Check.php&lt;br /&gt;
&lt;br /&gt;
=== Check ===&lt;br /&gt;
&lt;br /&gt;
== Zusatzinfos ==&lt;br /&gt;
=== Was sind personenbezogene Daten ? ===&lt;br /&gt;
&lt;br /&gt;
== Anschreiben Textblöcke ==&lt;br /&gt;
=== Haftungsausschluss ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hinweis zu Datenschutz und Impressumsrelevanten Texten&lt;br /&gt;
Stephan Schlegel Geo-bit Reutlingen kann und darf keine Rechtsberatung geben.&lt;br /&gt;
Wir sind keine Anwaltskanzlei, sondern eine Webagentur. Deshalb dürfen wir keine Rechtsberatung leisten. &lt;br /&gt;
Gerne versorgen wir Sie mit Informationen, z.B. im Zusammenhang mit der Datenschutz-Grundverordnung oder der Impressumspflicht, die für Sie als Website-Betreiber relevant sind. Auf Ihren Wunsch erstellen wir gerne auch Inhalte für den Datenschutz-Hinweis oder das Impressum, die nach unserem Kenntnisstand und unserer Erfahrung erforderlich und ausreichend sind. Sie sind jedoch letztendlich allein für den Inhalt ihrer Website verantwortlich. Für rechtssichere Aussagen und konforme Texte sollten Sie sich daher an legitimierte Anbieter für Rechtsberatung wenden.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mustertexte einfache Sprache ==&lt;br /&gt;
TODO&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte&amp;diff=23315</id>
		<title>Datenschutz - Mustertexte</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte&amp;diff=23315"/>
		<updated>2018-09-17T19:26:33Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* OpenStreetMaps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Todos ==&lt;br /&gt;
Text f. Bewerbung&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Schön wäre ein Datenschutzhinweis der kurz und Verständlich formuliert ist und eine ausführliche Datenschutzerklärung&lt;br /&gt;
&lt;br /&gt;
== Checkliste - Einzelvorgänge ==&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
==== Verantwortlicher ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NAME UND ANSCHRIFT DES VERANTWORTLICHEN&lt;br /&gt;
Der Verantwortliche im Sinne der Datenschutz-Grundverordnung und anderer nationaler Datenschutzgesetze der Mitgliedsstaaten sowie sonstiger datenschutzrechtlicher Bestimmungen ist:&lt;br /&gt;
&lt;br /&gt;
Musterfirma&lt;br /&gt;
Musterstraße 1&lt;br /&gt;
12345 Musterstadt&lt;br /&gt;
Deutschland&lt;br /&gt;
Tel.: Telefonnummer&lt;br /&gt;
E-Mail: muster@e-mail.de&lt;br /&gt;
Website: www.musterwebsite.de&lt;br /&gt;
&lt;br /&gt;
DATENSCHUTZBEAUFTRAGTER&lt;br /&gt;
&lt;br /&gt;
Der Datenschutzbeauftragte des Verantwortlichen ist:&lt;br /&gt;
&lt;br /&gt;
Max Mustermann &lt;br /&gt;
Musterunternehmen (wenn extern)&lt;br /&gt;
Musterstraße 1&lt;br /&gt;
12345 Musterstadt&lt;br /&gt;
Deutschland&lt;br /&gt;
Tel.: Telefonnummer&lt;br /&gt;
E-Mail: max.mustermann@e-mail.de&lt;br /&gt;
Website: www.musterwebsite.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sie können diese Website in der Regel ohne Angabe personenbezogener Daten nutzen. Soweit wir personenbezogene Daten erfassen (z.B. wenn Sie mit uns in Kontakt treten möchten), erfolgt dies stets gemäß den gesetzlichen Datenschutzvorschriften, sowie dieser Datenschutzerklärung. Ohne ausdrückliche Zustimmung werden Ihre Daten niemals an Dritte weitergegeben.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Verschlüsselte Datenübertragung ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
VERSCHLÜSSELTE DATENÜBERTRAGUNG&lt;br /&gt;
&lt;br /&gt;
Auf allen Seiten unseres Internetangebots, auf denen Sie persönliche Daten eingeben - so z. B. in unserem Kontaktformular, werden Ihre Daten direkt bei der Übertragung verschlüsselt. Alle datenschutzrelevanten Informationen (wie Name und Adresse) werden geschützt gespeichert.&lt;br /&gt;
Wir möchten Sie darauf hinweisen, dass die Datenübertragung im Internet (z .B. wenn Sie uns eine E-Mail schreiben) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist generell nicht möglich.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Umfang der Verarbeitung ====&lt;br /&gt;
Quelle Uni Münster (überarbeitet)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UMFANG DER VERARBEITUNG PERSONENBEZOGENER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir verarbeiten personenbezogene Daten unserer Nutzer grundsätzlich nur, soweit dies für die Funktion der Website und die Bereitstellung der Inhalte und angebotenen Leistungen erforderlich ist. Die Verarbeitung personenbezogener Daten unserer Nutzer erfolgt regelmäßig nur nach Einwilligung des Nutzers. Ausnahmen gelten, wenn eine vorherige Einholung einer Einwilligung aus tatsächlichen Gründen nicht möglich ist und die Verarbeitung der Daten durch gesetzliche Vorschriften gestattet ist. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Rechtsgrundlage der Verarbeitung====&lt;br /&gt;
Quelle Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RECHTSGRUNDLAGE FÜR DIE VERARBEITUNG PERSONENBEZOGENER DATEN&lt;br /&gt;
&lt;br /&gt;
Soweit wir für Verarbeitungsvorgänge personenbezogener Daten eine Einwilligung der betroffenen Person einholen, dient Art. 6 Abs. 1 lit. a EU-Datenschutzgrundverordnung (DS-GVO) als Rechtsgrundlage.&lt;br /&gt;
Bei der Verarbeitung von personenbezogenen Daten, die zur Erfüllung eines Vertrages, dessen Vertragspartei die betroffene Person ist, erforderlich ist, dient Art. 6 Abs. 1 lit. b DS-GVO als Rechtsgrundlage. Dies gilt auch für Verarbeitungsvorgänge, die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind.&lt;br /&gt;
Soweit eine Verarbeitung personenbezogener Daten zur Erfüllung einer rechtlichen Verpflichtung erforderlich ist, der unser Unternehmen unterliegt, dient Art. 6 Abs. 1 lit. c DS-GVO als Rechtsgrundlage.&lt;br /&gt;
Für den Fall, dass lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person eine Verarbeitung personenbezogener Daten erforderlich machen, dient Art. 6 Abs. 1 lit. d DS-GVO als Rechtsgrundlage.&lt;br /&gt;
Ist die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich und überwiegen die Interessen, Grundrechte und Grundfreiheiten des Betroffenen das erstgenannte Interesse nicht, so dient Art. 6 Abs. 1 lit. f DS-GVO als Rechtsgrundlage für die Verarbeitung. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Datenlöschung und Speicherdauer ====&lt;br /&gt;
Quelle Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATENLÖSCHUNG UND SPEICHERDAUER&lt;br /&gt;
&lt;br /&gt;
Die personenbezogenen Daten der betroffenen Person werden gelöscht oder gesperrt, sobald der Zweck der Speicherung entfällt. Eine Speicherung kann darüber hinaus erfolgen, wenn dies durch den europäischen oder nationalen Gesetzgeber in unionsrechtlichen Verordnungen, Gesetzen oder sonstigen Vorschriften, denen der Verantwortliche unterliegt, vorgesehen wurde. Eine Sperrung oder Löschung der Daten erfolgt auch dann, wenn eine durch die genannten Normen vorgeschriebene Speicherfrist abläuft, es sei denn, dass eine Erforderlichkeit zur weiteren Speicherung der Daten für einen Vertragsabschluss oder eine Vertragserfüllung besteht.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bereitstellung der Website und Erstellung von Logfiles ===&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BEREITSTELLUNG DER WEBSITE UND ERSTELLUNG VON LOGFILES&lt;br /&gt;
&lt;br /&gt;
Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
Bei jedem Aufruf unserer Internetseite erfasst unser System automatisiert Daten und Informationen vom Computersystem des aufrufenden Rechners. &lt;br /&gt;
Folgende Daten werden hierbei erhoben:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dieser Teil ist entsprechend anzupassen. Nicht zutreffende Daten sind zu entfernen, fehlende zu ergänzen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Informationen über den Browsertyp und die verwendete Version&lt;br /&gt;
Das Betriebssystem des Nutzers&lt;br /&gt;
Den Internet-Service-Provider des Nutzers&lt;br /&gt;
Die IP-Adresse des Nutzers&lt;br /&gt;
Datum und Uhrzeit des Zugriffs&lt;br /&gt;
Websites, von denen das System des Nutzers auf unsere Internetseite gelangt &lt;br /&gt;
Websites, die vom System des Nutzers über unsere Website aufgerufen werden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Option 1: &amp;#039;&amp;#039;&amp;#039;Die Logfiles enthalten IP-Adressen&amp;#039;&amp;#039;&amp;#039; oder sonstige Daten, &amp;#039;&amp;#039;&amp;#039;die eine Zuordnung zu einem Nutzer ermöglichen&amp;#039;&amp;#039;&amp;#039;. Dies könnte beispielsweise der Fall sein, wenn der Link zur Website, von der der Nutzer auf die Internetseite gelangt, oder der Link zur Website, zu der der Nutzer wechselt, personenbezogene Daten enthält.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Option 2: Die &amp;#039;&amp;#039;&amp;#039;Logfiles enthalten keine IP-Adressen oder sonstigen Daten, die eine Zuordnung zu einem Nutzer ermöglichen&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. Nicht hiervon betroffen sind die IP-Adressen des Nutzers oder andere Daten, die die Zuordnung der Daten zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Option 3: anonymisierte Logfiles&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. IP-Adressen werden im Logfile  teilanonymisiert gespeichert, ihnen fehlt dadurch das Merkmal der Personenbezogenheit. Es werden keine Daten gespeichert, die eine Zuordnung der Daten zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&lt;br /&gt;
 Rechtsgrundlage für die vorübergehende Speicherung der Daten und der Logfiles ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Falls keine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&lt;br /&gt;
 Rechtsgrundlage für die vorübergehende Speicherung der Daten ist Art. 6 Abs. 1 lit. f DSGVO. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die vorübergehende Speicherung der IP-Adresse durch das System ist notwendig, um eine Auslieferung der Website an den Rechner des Nutzers zu ermöglichen. Hierfür muss die IP-Adresse des Nutzers für die Dauer der Sitzung gespeichert bleiben. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Speicherung in Logfiles erfolgt, um die Funktionsfähigkeit der Website sicherzustellen. Zudem dienen uns die Daten zur Optimierung der Website und zur Sicherstellung der Sicherheit unserer informationstechnischen Systeme. Eine Auswertung der Daten zu Marketingzwecken findet in diesem Zusammenhang nicht statt. &lt;br /&gt;
&lt;br /&gt;
In diesen Zwecken liegt auch unser berechtigtes Interesse an der Datenverarbeitung nach Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dauer der Speicherung&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Im Falle der Erfassung der Daten zur Bereitstellung der Website ist dies der Fall, wenn die jeweilige Sitzung beendet ist. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Im Falle der Speicherung der Daten in Logfiles ist dies nach spätestens sieben Tagen der Fall. Eine darüberhinausgehende Speicherung ist möglich. In diesem Fall werden die IP-Adressen der Nutzer gelöscht oder verfremdet, sodass eine Zuordnung des aufrufenden Clients nicht mehr möglich ist.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Die Erfassung der Daten zur Bereitstellung der Website und die Speicherung der Daten in Logfiles ist für den Betrieb der Internetseite zwingend erforderlich. Es besteht folglich seitens des Nutzers keine Widerspruchsmöglichkeit. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Erstellung von Zugriffsstatistik (Webalizer) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ERSTELLUNG DER ZUGRIFFSSTATISTIK&lt;br /&gt;
&lt;br /&gt;
Diese Website verwendet Webalizer.&lt;br /&gt;
Bei diesem Produkt handelt es sich um einen Web-Analyse-Dienst, der Daten über das Verhalten von Besuchern von Webseiten erhebt, sammelt und auswertet. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Webseite eine betroffene Person auf eine Webseite gekommen ist (wenn die Person zuvor einen Link geklickt hat), auf welche Unterseiten der Webseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde.&lt;br /&gt;
&lt;br /&gt;
Der Zweck der Verwendung ist die Auswertung der Nutzung von Webseiten zur Verbesserung des Angebots und der Bedienung. Durch die Auswertung kann in Erfahrung gebracht werden, wie die jeweilige Website genutzt wird und so das Angebot der Webseite stetig optimiert werden.&lt;br /&gt;
&lt;br /&gt;
Die auf diese Weise zu Analysezwecken erhoben Daten der Nutzer werden durch technische Vorkehrungen anonymisiert. Daher ist eine Zuordnung der Daten zum aufrufenden Nutzer nicht mehr möglich. Die Daten werden nicht gemeinsam mit sonstigen personenbezogenen Daten der Nutzer gespeichert.&lt;br /&gt;
&lt;br /&gt;
In diesen Zwecken liegt auch das berechtigte Interesse des Webseitenbetreibers in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1 Buchstabe f DSGVO. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Zeitlich unbegrenzt (bis zum manuellen Entfernen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Dienst speichert die von ihnen verarbeiteten Daten ohne zeitliche Begrenzung. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder (Default Einstellung all-inkl)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Dienst speichert die verarbeiteten Daten für 190 Tage.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Dients nutzt keine Cookies, sondern verarbeiten ausschließlich die Daten des Logfiles (siehe Erstellung von Logfiles). IP-Adressen werden im Logfile  teilanonymisiert gespeichert, ihnen fehlt darum das Merkmal der Personenbezogenheit.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cookies ===&lt;br /&gt;
https://accentikainternet.co.uk/article-details/article/make-your-typo3-website-cookie-compliant-with-eu-law.html (netter englischer text)&lt;br /&gt;
&lt;br /&gt;
==== Cookies Text ====&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
VERWENDUNG VON COOKIES&lt;br /&gt;
&lt;br /&gt;
Unsere Webseite verwendet Cookies. Bei Cookies handelt es sich um Textdateien, die im Internetbrowser bzw. vom Internetbrowser auf dem Computersystem des Nutzers gespeichert werden. Dieser Cookie enthält eine charakteristische Zeichenfolge. Dadurch können wir den Browser beim erneuten Aufrufen der Website wiedererkennen.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Verwendung technisch notwendiger Cookies erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Durch den Einsatz von Cookies können wir unsere Website nutzerfreundlicher gestalten. Einige Elemente unserer Internetseite erfordern es, dass der aufrufende Browser auch nach einem Seitenwechsel identifiziert werden kann. &lt;br /&gt;
Für folgende Zwecke nutzen wir Cookies:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es folgt eine Auflistung der gespeicherten Daten. Beispiele können sein:&lt;br /&gt;
* Merken von Spracheinstellungen&lt;br /&gt;
* Speichern von Artikel im Warenkorb&lt;br /&gt;
* Verwalten Log-In-Informationen&lt;br /&gt;
* Speichern von Benutzereinstellungen&lt;br /&gt;
* Verbesserung der Sicherheit&lt;br /&gt;
&lt;br /&gt;
Falls zudem eine Verwendung technisch nicht notwendiger Cookies erfolgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Wir verwenden auf unserer Website darüber hinaus Cookies, die eine Analyse des Surfverhaltens der Nutzer ermöglichen. &lt;br /&gt;
Auf diese Weise können folgende Daten übermittelt werden:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es folgt eine Auflistung der erhobenen Daten. Diese können beispielsweise sein:&lt;br /&gt;
* (1) Eingegebene Suchbegriffe&lt;br /&gt;
* (2) Häufigkeit von Seitenaufrufen&lt;br /&gt;
* (3) Inanspruchnahme von Website-Funktionen&lt;br /&gt;
&lt;br /&gt;
Bislang war es nach § 15 Abs. 3 TMG möglich, für technisch nicht notwendige Cookies eine Pseudonymisierung der verarbeiteten personenbezogenen Daten vorzunehmen und den Nutzer über die Verwendung der Cookies und sein Widerspruchs- und Beseitigungsrecht zu informieren („Opt-Out-Lösung“). Es ist jedoch in der juristischen Literatur umstritten, ob diese Norm auch nach Geltung der DSGVO weiter Anwendung findet. Im Zweifel muss daher davon ausgegangen werden, dass nunmehr allein die Vorschriften der DSGVO gelten. In diesem Fall ist allein auf Art. 6 Abs. 1 DSGVO abzustellen. Auch nach dieser Norm ist eine Fortführung der bisherigen Praxis denkbar, wenn auf ein „berechtigtes Interesse“ des Verarbeitenden nach Art. 6 Abs. 1 lit. f DSGVO abgestellt wird. Falls also vor dem Setzen und Abrufen der technisch nicht notwendigen Cookies keine Einwilligung des Nutzers eingeholt wird:&lt;br /&gt;
Die auf diese Weise erhobenen Daten der Nutzer werden durch technische Vorkehrungen pseudonymisiert. Daher ist eine Zuordnung der Daten zum aufrufenden Nutzer nicht mehr möglich. Die Daten werden nicht gemeinsam mit sonstigen personenbezogenen Daten der Nutzer gespeichert.&lt;br /&gt;
Beim Aufruf unserer Website werden die Nutzer durch einen Infobanner über die Verwendung von Cookies zu Analysezwecken informiert und auf diese Datenschutzerklärung verwiesen. Es erfolgt in diesem Zusammenhang auch ein Hinweis darauf, wie die Speicherung von Cookies in den Browsereinstellungen unterbunden werden kann.&lt;br /&gt;
Ob die bisherige Praxis der „Opt-Out-Lösung“ den Anforderungen des Art. 6 Abs. 1 lit. f DGVO gerecht wird, kann derzeit nicht mit Sicherheit gesagt werden. Klarheit könnte diesbezüglich die geplante E-Privacy-Verordnung bringen. Bis dahin besteht die rechtssicherste Lösung allerdings darin, eine vorherige Einwilligung des Nutzers einzuholen („Opt-In-Lösung“). &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Falls also vor dem Setzen und Abrufen der technisch nicht notwendigen Cookies eine Einwilligung des Nutzers eingeholt wird:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Beim Aufruf unserer Website wird der Nutzer über die Verwendung von Cookies zu Analysezwecken informiert und seine Einwilligung zur Verarbeitung der in diesem Zusammenhang verwendeten personenbezogenen Daten eingeholt. In diesem Zusammenhang erfolgt auch ein Hinweis auf diese Datenschutzerklärung. &lt;br /&gt;
b) Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls nur eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger Cookies&amp;#039;&amp;#039;&amp;#039; erfolgt &amp;#039;&amp;#039;&amp;#039;oder&amp;#039;&amp;#039;&amp;#039; eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger Cookies und technisch nicht notwendiger Cookies ohne vorherige Einholung einer Einwilligung des Nutzers&amp;#039;&amp;#039;&amp;#039; erfolgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger und nicht notwendiger Cookies mit vorheriger Einholung einer Einwilligung&amp;#039;&amp;#039;&amp;#039; des Nutzers erfolgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung technisch notweniger Cookies ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies zu Analysezwecken ist bei Vorliegen einer diesbezüglichen Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
c) Zweck der Datenverarbeitung&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger Cookies&amp;#039;&amp;#039;&amp;#039; erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Zweck der Verwendung technisch notwendiger Cookies ist, die Nutzung von Websites für die Nutzer zu vereinfachen. Einige Funktionen unserer Internetseite können ohne den Einsatz von Cookies nicht angeboten werden. Für diese ist es erforderlich, dass der Browser auch nach einem Seitenwechsel wiedererkannt wird.&lt;br /&gt;
Für folgende Anwendungen benötigen wir Cookies:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es folgt eine Auflistung der Anwendungen. Beispiele können sein:&lt;br /&gt;
* (1) Warenkorb&lt;br /&gt;
* (2) Übernahme von Spracheinstellungen&lt;br /&gt;
* (3) Merken von Suchbegriffen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die durch technisch notwendige Cookies erhobenen Nutzerdaten werden nicht zur Erstellung von Nutzerprofilen verwendet.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Falls kein Tracking und keine Drittanbieter Cookies &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Todo...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Falls zudem eine Verwendung technisch nicht notwendiger Cookies&amp;#039;&amp;#039;&amp;#039; erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Verwendung der Analyse-Cookies erfolgt zu dem Zweck, die Qualität unserer Website und ihre Inhalte zu verbessern. Durch die Analyse-Cookies erfahren wir, wie die Website genutzt wird und können so unser Angebot stetig optimieren.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Der genaue Einsatzzweck der Analysecookies sollte an dieser Stelle genauer beschrieben werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
In diesen Zwecken liegt auch unser berechtigtes Interesse in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1 lit. f DSGVO. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
e) Dauer der Speicherung, Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Cookies werden auf dem Rechner des Nutzers gespeichert und von diesem an unserer Seite übermittelt. Daher haben Sie als Nutzer auch die volle Kontrolle über die Verwendung von Cookies. Durch eine Änderung der Einstellungen in Ihrem Internetbrowser können Sie die Übertragung von Cookies deaktivieren oder einschränken. Bereits gespeicherte Cookies können jederzeit gelöscht werden. Dies kann auch automatisiert erfolgen. Werden Cookies für unsere Website deaktiviert, können möglicherweise nicht mehr alle Funktionen der Website vollumfänglich genutzt werden.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Wordpress Cookies====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Verwendetet Cookies im Detail:&lt;br /&gt;
Technisch notwendige Cookies:&lt;br /&gt;
wordpress_logged_in_[hash]&lt;br /&gt;
Wird gesetzt wenn sich ein Benutzer anmeldet. Management des An- und Abmeldeprozess&lt;br /&gt;
wp-settings-{time}-[UID]&lt;br /&gt;
Managment der Kommentarfunktion. Verhindert im wesentlichen, dass der Kommentator Eingaben doppelt machen muss.&lt;br /&gt;
comment_author_{HASH}&lt;br /&gt;
comment_author_email_{HASH}&lt;br /&gt;
comment_author_url_{HASH}&lt;br /&gt;
Wird gesetzt, wenn Benutzer die Kommentarfunktion nutzen. Dient dazu dem Kommentatoren doppelte Eingaben zu ersparen.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
WordPress Cookies&lt;br /&gt;
&lt;br /&gt;
After login, wordpress sets the wordpress_logged_in_[hash] cookie, which indicates when you’re logged in, and who you are, for most interface use.&lt;br /&gt;
&lt;br /&gt;
WordPress also sets a few wp-settings-{time}-[UID] cookies. The number on the end is your individual user ID from the users database table. This is used to customise your view of admin interface, and possibly also the main site interface.&lt;br /&gt;
&lt;br /&gt;
When visitors comment on your blog, they too get cookies stored on their computer. This is purely a convenience, so that the visitor won’t need to re-type all their information again when they want to leave another comment. Altogether three are set for commenters:&lt;br /&gt;
&lt;br /&gt;
comment_author_{HASH}&lt;br /&gt;
comment_author_email_{HASH}&lt;br /&gt;
comment_author_url_{HASH}&lt;br /&gt;
&lt;br /&gt;
===== ProcessWire =====&lt;br /&gt;
&lt;br /&gt;
wire - Sitzungscookie&lt;br /&gt;
&lt;br /&gt;
* Verbesserung der Sicherheit der Website&lt;br /&gt;
* Verbesserung der Bedienbarkeit der Website&lt;br /&gt;
&lt;br /&gt;
wires - Sitzungscookie&lt;br /&gt;
* wie wire, wird aber bei sicherer Verbindung eingesetzt&lt;br /&gt;
&lt;br /&gt;
wire_challenge - Persistenter Cookie&lt;br /&gt;
* Management des Login für User mit Benutzeraccount und Benutzereinstellungen&lt;br /&gt;
&lt;br /&gt;
WireTabs - Sitzungscookie&lt;br /&gt;
* Speichert Informationen zum aktuellen Bearbeitungsstatus eines angemeldeten Benutzers, während der Bearbeitung der Homepage.&lt;br /&gt;
&lt;br /&gt;
The only other cookie set by this website is called &amp;#039;wire’ and is required by ProcessWire (the underlying CMS) for the system to operate properly. If you wish to delete individual cookies from your computer but are unsure how to do it, have a look at www.allaboutcookies.org.&lt;br /&gt;
&lt;br /&gt;
==== Cookie Infos ====&lt;br /&gt;
https://rickert.net/blog/cookies-aktuelle-rechtslage/&lt;br /&gt;
&lt;br /&gt;
https://policies.google.com/technologies/cookies?hl=de&lt;br /&gt;
&lt;br /&gt;
Todo auf eigener Homepage&lt;br /&gt;
&lt;br /&gt;
===== Piwick =====&lt;br /&gt;
There are two cookies on this website that collect information from visitors to help me improve this website. They enable me to trace errors on this website and inform him about how this website is used. This information is anonymous and cannot be used to identify you personally. These cookies are set by the analytics software ‘Piwik’ and start with ‘_pk_id’ and ‘_pk_ses’. Piwik is self-hosted software. This means that all data collected stays with me. No analytics information is remitted to third parties (this is different from websites using certain other tools such as Google Analytics).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== TYPO3 =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Name: fe_typo_user&lt;br /&gt;
Art: session cookie&lt;br /&gt;
Nutzung: Login Managment für Frontend User, identifiziert den Nutzer, Verbesserung der Seitenbenutzung, Sicherheit&lt;br /&gt;
&lt;br /&gt;
Name: be_typo3_user&lt;br /&gt;
Art: session cookie&lt;br /&gt;
Nutzung: Login Managment für Backend User, identifiziert den Nutzer, Verbesserung der Seitenbenutzung, Sicherheit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
FE User Cookie Kann man per default ausschalten&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;quot;FE&amp;quot;][&amp;quot;dontSetCookie&amp;quot;] = 1;&lt;br /&gt;
&lt;br /&gt;
=== Newsletter ===&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
29. Newsletter&lt;br /&gt;
&lt;br /&gt;
1. Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Auf unserer Internetseite besteht die Möglichkeit einen kostenfreien Newsletter zu abonnieren. Dabei werden bei der Anmeldung zum Newsletter die Daten aus der Eingabemaske an uns übermittelt.&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle sollte eine konkrete Nennung der erhobenen Daten erfolgen. Im Minimalfall betrifft dies die E-Mail-Adresse des Nutzers. &lt;br /&gt;
&lt;br /&gt;
Zudem werden folgende Daten bei der Anmeldung erhoben:&lt;br /&gt;
&lt;br /&gt;
Es müssen die tatsächlich erhobenen weiteren Daten angegeben werden. Dies können beispielsweise sein:&lt;br /&gt;
(1) IP-Adresse des aufrufenden Rechners&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Anmeldevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund des Verkaufs von Waren oder Dienstleistungen:&lt;br /&gt;
&lt;br /&gt;
Wenn Sie auf unserer Internetseite Waren oder Dienstleistungen erwerben und hierbei Ihre E-Mail-Adresse hinterlegen, kann diese in der Folge durch uns für den Versand eines Newsletters verwendet werden. In einem solchen Fall wird über den Newsletter ausschließlich Direktwerbung für eigene ähnliche Waren oder Dienstleistungen versendet.&lt;br /&gt;
&lt;br /&gt;
Es erfolgt im Zusammenhang mit der Datenverarbeitung für den Versand von Newslettern keine Weitergabe der Daten an Dritte. Die Daten werden ausschließlich für den Versand des Newsletters verwendet.&lt;br /&gt;
&lt;br /&gt;
30. Rechtsgrundlage für die Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten nach Anmeldung zum Newsletters durch den Nutzer ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund des Verkaufs von Waren oder Dienstleistungen:&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für den Versand des Newsletters infolge des Verkaufs von Waren oder Dienstleistungen ist § 7 Abs. 3 UWG.&lt;br /&gt;
&lt;br /&gt;
31. Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die Erhebung der E-Mail-Adresse des Nutzers dient dazu, den Newsletter zuzustellen. &lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Die Erhebung sonstiger personenbezogener Daten im Rahmen des Anmeldevorgangs dient dazu, einen Missbrauch der Dienste oder der verwendeten E-Mail-Adresse zu verhindern.&lt;br /&gt;
&lt;br /&gt;
32. Dauer der Speicherung&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Die E-Mail-Adresse des Nutzers wird demnach solange gespeichert, wie das Abonnement des Newsletters aktiv ist. &lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Die sonstigen im Rahmen des Anmeldevorgangs erhobenen personenbezogenen Daten werden in der Regel nach einer Frist von sieben Tagen gelöscht.&lt;br /&gt;
&lt;br /&gt;
33. Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Das Abonnement des Newsletters kann durch den betroffenen Nutzer jederzeit gekündigt werden. Zu diesem Zweck findet sich in jedem Newsletter ein entsprechender Link. &lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Hierdurch wird ebenfalls ein Widerruf der Einwilligung der Speicherung der während des Anmeldevorgangs erhobenen personenbezogenen Daten ermöglicht.&lt;br /&gt;
&lt;br /&gt;
34. Registrierung&lt;br /&gt;
&lt;br /&gt;
1. Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
Auf unserer Internetseite bieten wir Nutzern die Möglichkeit, sich unter Angabe personenbezogener Daten zu registrieren. Die Daten werden dabei in eine Eingabemaske eingegeben und an uns übermittelt und gespeichert. Eine Weitergabe der Daten an Dritte findet nicht statt. Folgende Daten werden im Rahmen des Registrierungsprozesses erhoben:&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle sollten die entsprechenden Daten aufgelistet werden.&lt;br /&gt;
&lt;br /&gt;
Im Zeitpunkt der Registrierung werden zudem folgende Daten gespeichert:&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle sind die Daten entsprechend aufzulisten. Beispiele können sein:&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Im Rahmen des Registrierungsprozesses wird eine Einwilligung des Nutzers zur Verarbeitung dieser Daten eingeholt.&lt;br /&gt;
35. Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Wenn die Registrierung der Erfüllung eines Vertrages, dessen Vertragspartei die betroffene Person ist, oder der Durchführung vorvertraglicher Maßnahmen dient.&lt;br /&gt;
&lt;br /&gt;
Dient die Registrierung der Erfüllung eines Vertrages, dessen Vertragspartei der Nutzer ist oder der Durchführung vorvertraglicher Maßnahmen, so ist zusätzliche Rechtsgrundlage für die Verarbeitung der Daten Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
&lt;br /&gt;
36. Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient nicht zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Eine Registrierung des Nutzers ist für das Bereithalten bestimmter Inhalte und Leistungen auf unserer Website erforderlich.&lt;br /&gt;
&lt;br /&gt;
Es folgt eine nähere Beschreibung der Inhalte und Leistungen. Warum ist im Einzelfall eine Identifikation des Nutzers für die Bereithaltung erforderlich?&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Eine Registrierung des Nutzers ist zur Erfüllung eines Vertrages mit dem Nutzer oder zur Durchführung vorvertraglicher Maßnahmen erforderlich.&lt;br /&gt;
&lt;br /&gt;
Es folgt eine nähere Beschreibung des auf der Internetseite angebotenen Vertrages. Warum sind für diese Verträge die erhobenen Daten erforderlich?&lt;br /&gt;
&lt;br /&gt;
Sollte für die von Ihnen angebotenen Verträge eine Verarbeitung der personenbezogenen Daten des Vertragspartners bei Vertragsschluss gesetzlich vorgeschrieben sein, so sind die jeweiligen Normen, aus denen sich die Verpflichtung ergibt, zu nennen.&lt;br /&gt;
37. Dauer der Speicherung&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind.&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient nicht zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Dies ist für die während des Registrierungsvorgangs erhobenen Daten der Fall, wenn die Registrierung auf unserer Internetseite aufgehoben oder abgeändert wird. &lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Dies ist für die während des Registrierungsvorgangs zur Erfüllung eines Vertrags oder zur Durchführung vorvertraglicher Maßnahmen dann der Fall, wenn die Daten für die Durchführung des Vertrages nicht mehr erforderlich sind. Auch nach Abschluss des Vertrags kann eine Erforderlichkeit, personenbezogene Daten des Vertragspartners zu speichern, bestehen, um vertraglichen oder gesetzlichen Verpflichtungen nachzukommen.&lt;br /&gt;
&lt;br /&gt;
Dauerschuldverhältnisse erfordern die Speicherung der personenbezogenen Daten während der Vertragslaufzeit. Zudem müssen Gewährleistungsfristen beachtet werden und die Speicherung von Daten für steuerliche Zwecke. Welche Speicherfristen hierbei einzuhalten sind, lässt sich nicht pauschal festlegen, sondern muss für die jeweils geschlossenen Verträge und Vertragsparteien im Einzelfall ermittelt werden.&lt;br /&gt;
38. Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
Als Nutzer haben sie jederzeit die Möglichkeit, die Registrierung aufzulösen. Die über Sie gespeicherten Daten können Sie jederzeit abändern lassen. &lt;br /&gt;
&lt;br /&gt;
Es folgt eine nähere Beschreibung, wie eine Löschung des Accounts und eine Änderung von Daten möglich sind.&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Sind die Daten zur Erfüllung eines Vertrages oder zur Durchführung vorvertraglicher Maßnahmen erforderlich, ist eine vorzeitige Löschung der Daten nur möglich, soweit nicht vertragliche oder gesetzliche Verpflichtungen einer Löschung entgegenstehen. &lt;br /&gt;
39. Kontaktformular und E-Mail-Kontakt&lt;br /&gt;
1. Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
Auf unserer Internetseite ist ein Kontaktformular vorhanden, welches für die elektronische Kontaktaufnahme genutzt werden kann. Nimmt ein Nutzer diese Möglichkeit wahr, so werden die in der Eingabemaske eingegeben Daten an uns übermittelt und gespeichert. Diese Daten sind:&lt;br /&gt;
&lt;br /&gt;
Es folgt eine Auflistung der Daten der Eingabemaske&lt;br /&gt;
&lt;br /&gt;
Im Zeitpunkt der Absendung der Nachricht werden zudem folgende Daten gespeichert:&lt;br /&gt;
&lt;br /&gt;
Es folgt eine Auflistung der entsprechenden Daten. Beispiele können sein:&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Absendevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse möglich. In diesem Fall werden die mit der E-Mail übermittelten personenbezogenen Daten des Nutzers gespeichert. &lt;br /&gt;
&lt;br /&gt;
Es erfolgt in diesem Zusammenhang keine Weitergabe der Daten an Dritte. Die Daten werden ausschließlich für die Verarbeitung der Konversation verwendet.&lt;br /&gt;
&lt;br /&gt;
40. Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten, die im Zuge einer Übersendung einer E-Mail übermittelt werden, ist Art. 6 Abs. 1 lit. f DSGVO. Zielt der E-Mail-Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
&lt;br /&gt;
41. Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die Verarbeitung der personenbezogenen Daten aus der Eingabemaske dient uns allein zur Bearbeitung der Kontaktaufnahme. Im Falle einer Kontaktaufnahme per E-Mail liegt hieran auch das erforderliche berechtigte Interesse an der Verarbeitung der Daten.&lt;br /&gt;
Die sonstigen während des Absendevorgangs verarbeiteten personenbezogenen Daten dienen dazu, einen Missbrauch des Kontaktformulars zu verhindern und die Sicherheit unserer informationstechnischen Systeme sicherzustellen.&lt;br /&gt;
42. Dauer der Speicherung&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Für die personenbezogenen Daten aus der Eingabemaske des Kontaktformulars und diejenigen, die per E-Mail übersandt wurden, ist dies dann der Fall, wenn die jeweilige Konversation mit dem Nutzer beendet ist. Beendet ist die Konversation dann, wenn sich aus den Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist. &lt;br /&gt;
&lt;br /&gt;
Die während des Absendevorgangs zusätzlich erhobenen personenbezogenen Daten werden spätestens nach einer Frist von sieben Tagen gelöscht.&lt;br /&gt;
&lt;br /&gt;
43. Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Der Nutzer hat jederzeit die Möglichkeit, seine Einwilligung zur Verarbeitung der personenbezogenen Daten zu widerrufen. Nimmt der Nutzer per E-Mail Kontakt mit uns auf, so kann er der Speicherung seiner personenbezogenen Daten jederzeit widersprechen. In einem solchen Fall kann die Konversation nicht fortgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Es folgt eine Beschreibung, auf welche Weise der Widerruf der Einwilligung und der Widerspruch der Speicherung ermöglicht wird.&lt;br /&gt;
&lt;br /&gt;
Alle personenbezogenen Daten, die im Zuge der Kontaktaufnahme gespeichert wurden, werden in diesem Fall gelöscht.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kontaktformular ===&lt;br /&gt;
Direkt am Formular&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutz&lt;br /&gt;
&lt;br /&gt;
Mit meiner Kontaktaufnahme willige ich ein, dass meine Daten gespeichert und zur Bearbeitung meiner Anfrage/Kontaktaufnahme sowie für die Zusendung von Informationsmaterial genutzt werden. Eine Weiterleitung an Dritte ist ausgeschlossen. Diese Einwilligung kann jederzeit widerrufen werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Checkbox&amp;gt; Ich stimme zu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In der Datenschutzerklärung&lt;br /&gt;
&lt;br /&gt;
Quelle Uni Münster (stark angepasst)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KONTAKTFORMULAR UND E-MAIL KONTAKT&lt;br /&gt;
&lt;br /&gt;
Auf unserer Website können Sie Kontaktformulare zur elektronische Kontaktaufnahme nutzen. Nehmen Sie diese Möglichkeit wahr, so werden die von Ihnen in der Eingabemaske eingegeben Daten an uns übermittelt und gespeichert. &lt;br /&gt;
&lt;br /&gt;
Im Zeitpunkt der Absendung der Nachricht werden zudem folgende Daten gespeichert:&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Absendevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse möglich. In diesem Fall werden die mit der E-Mail übermittelten personenbezogenen Daten des Nutzers gespeichert. &lt;br /&gt;
Die Daten werden ausschließlich für die Verarbeitung der Konversation verwendet. Es erfolgt in diesem Zusammenhang keine Weitergabe der Daten an Dritte. &lt;br /&gt;
Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten, die im Zuge einer Übersendung einer E-Mail übermittelt werden, ist Art. 6 Abs. 1 lit. f DSGVO. Zielt der E-Mail-Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
Die Verarbeitung der personenbezogenen Daten aus der Eingabemaske dient uns allein zur Bearbeitung der Kontaktaufnahme. Im Falle einer Kontaktaufnahme per E-Mail liegt hieran auch das erforderliche berechtigte Interesse an der Verarbeitung der Daten.&lt;br /&gt;
Die sonstigen während des Absendevorgangs verarbeiteten personenbezogenen Daten dienen dazu, einen Missbrauch des Kontaktformulars zu verhindern und die Sicherheit unserer informationstechnischen Systeme sicherzustellen.&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Für die personenbezogenen Daten aus der Eingabemaske des Kontaktformulars und diejenigen, die per E-Mail übersandt wurden, ist dies dann der Fall, wenn die jeweilige Konversation mit dem Nutzer beendet ist. Beendet ist die Konversation dann, wenn sich aus den Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Google Analytics ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutzerklärung für die Nutzung von Google Analytics&lt;br /&gt;
&lt;br /&gt;
Diese Website nutzt Funktionen des  Webanalysedienstes Google Analytics. Anbieter ist die Google Inc. 1600 Amphitheatre Parkway Mountain View, CA 94043, USA. Google Analytics verwendet sog. „Cookies“. Das sind Textdateien, die auf Ihrem Computer gespeichert werden und die eine Analyse der Benutzung der Website durch Sie ermöglichen. Die durch den Cookie erzeugten Informationen über Ihre Benutzung dieser Website werden in der Regel an einen Server von Google in den USA übertragen und dort gespeichert.&lt;br /&gt;
&lt;br /&gt;
Im Falle der Aktivierung der IP-Anonymisierung auf dieser Webseite wird Ihre IP-Adresse von Google jedoch innerhalb von Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten des Abkommens über den Europäischen Wirtschaftsraum zuvor gekürzt. Nur in Ausnahmefällen wird die volle IP-Adresse an einen Server von Google in den USA übertragen und dort gekürzt. Im Auftrag des Betreibers dieser Website wird Google diese Informationen benutzen, um Ihre Nutzung der Website auszuwerten, um Reports über die Websiteaktivitäten zusammenzustellen und um weitere mit der Websitenutzung und der Internetnutzung verbundene Dienstleistungen gegenüber dem Websitebetreiber zu erbringen. Die im Rahmen von Google Analytics von Ihrem Browser übermittelte IP-Adresse wird nicht mit anderen Daten von Google zusammengeführt.&lt;br /&gt;
&lt;br /&gt;
Sie können die Speicherung der Cookies durch eine entsprechende Einstellung Ihrer Browser-Software verhindern; wir weisen Sie jedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche Funktionen dieser Website vollumfänglich werden nutzen können. Sie können darüber hinaus die Erfassung der durch das Cookie erzeugten und auf Ihre Nutzung der Website bezogenen Daten (inkl. Ihrer IP-Adresse) an Google sowie die Verarbeitung dieser Daten durch Google verhindern, indem sie das unter dem folgenden Link verfügbare Browser-Plugin herunterladen und installieren: http://tools.google.com/dlpage/gaoptout?hl=de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Google Maps ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GOOGLE MAPS&lt;br /&gt;
&lt;br /&gt;
Diese Website verwendet die GoogleMaps API. Ein Produkt der Google Inc., zur Anzeige von interaktiven Landkarten. Bei der Nutzung von Google Maps werden von Google auch Daten über die Nutzung der Maps-Funktionen des Besuchers erhoben, verarbeitet und genutzt. Nähere Informationen über die Datenverarbeitung durch Google finden Sie in den Datenschutzhinweisen von Google (http://www.google.com/intl/de_de/help/terms_maps.html). Google stellt dort darüber hinaus Möglichkeiten zur Datenschutzeinstellung zur Verfügung, mit denen Sie Ihre Daten verwalten und schützen können.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenStreetMaps ===&lt;br /&gt;
ADFC&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OpenStreetMap&lt;br /&gt;
&lt;br /&gt;
Zur Darstellung von Geo-Daten verwenden wir das Open-Source-Mapping-Werkzeug „OpenStreetMap“ (OSM). OpenStreetMap ist ein Service der Openstreetmap Foundation, 132 Maney Hill Road, Sutton Coldfield, West Midlands, B72 1JU, United Kingdom. Damit Ihnen die Karte angezeigt werden kann, wird Ihre IP-Adresse an OpenStreetMap weitergeleitet. Wie OpenStreetMap Ihre Daten speichert, können Sie auf der Datenschutzseite von OpenStreetMap und hier http://wiki.openstreetmap.org/wiki/Legal_FAQ erfahren.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OpenStreetMap&lt;br /&gt;
&lt;br /&gt;
Wir binden die Landkarten des Dienstes &amp;quot;OpenStreetMap&amp;quot; ein (https://www.openstreetmap.org), die auf Grundlage der Open Data Commons Open Database Lizenz (ODbL) durch die OpenStreetMap Foundation (OSMF) angeboten werden. Datenschutzerklärung: https://wiki.openstreetmap.org/wiki/Privacy_Policy).&lt;br /&gt;
&lt;br /&gt;
Nach unserer Kenntnis werden die Daten der Nutzer durch OpenStreetMap ausschließlich zu Zwecken der Darstellung der Kartenfunktionen und Zwischenspeicherung der gewählten Einstellungen verwendet. Zu diesen Daten können insbesondere IP-Adressen und Standortdaten der Nutzer gehören, die jedoch nicht ohne deren Einwilligung (im Regelfall im Rahmen der Einstellungen ihrer Mobilgeräte vollzogen), erhoben werden. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fonts ===&lt;br /&gt;
==== Links ====&lt;br /&gt;
https://www.mittwald.de/blog/mittwald/howtos/dem-datenschutz-zuliebe-wie-ihr-google-fonts-lokal-in-eure-webseiten-einbindet&lt;br /&gt;
&lt;br /&gt;
==== Beispiel 1 - Allgemein ====&lt;br /&gt;
&lt;br /&gt;
Verwendung von Scriptbibliotheken (Google Webfonts)&lt;br /&gt;
&lt;br /&gt;
Um unsere Inhalte browserübergreifend korrekt und graﬁsch ansprechend darzustellen, verwenden wir auf dieser Website Scriptbibliotheken und Schriftbibliotheken wie z. B. Google Webfonts (https://www.google.com/webfonts). Google Webfonts werden zur Vermeidung mehrfachen Ladens in den Cache Ihres Browsers übertragen. Falls der Browser die Google Webfonts nicht unterstützt oder den Zugriﬀ unterbindet, werden Inhalte in einer Standardschrift angezeigt.&lt;br /&gt;
Der Aufruf von Scriptbibliotheken oder Schriftbibliotheken löst automatisch eine Verbindung zum Betreiber der Bibliothek aus. Dabei ist es theoretisch möglich – aktuell allerdings auch unklar ob und ggf. zu welchen Zwecken – dass Betreiber entsprechender Bibliotheken Daten erheben.&lt;br /&gt;
&lt;br /&gt;
Die Datenschutzrichtlinie des Bibliothekbetreibers Google ﬁnden Sie hier:&lt;br /&gt;
https://policies.google.com/privacy?hl=de&lt;br /&gt;
&lt;br /&gt;
==== Beispiel 2 ====&lt;br /&gt;
Google Fonts&lt;br /&gt;
&lt;br /&gt;
Zur Darstellung der Schrift auf dieser Website setzten wir externe Schriftarten von Google Fonts ein.&lt;br /&gt;
Dieser Dienst wird von der Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043 USA, nachfolgend „Google“ angeboten.&lt;br /&gt;
Google ist nach dem „EU-US Privacy Shield“ zertifiziert und garantiert dadurch die Einhaltung der Datenschutzvorgaben der EU bei der Verarbeitung der Daten in den USA.&lt;br /&gt;
 &lt;br /&gt;
https://www.privacyshield.gov/participant?id=a2zt000000001L5AAI&amp;amp;status=Active&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf dieser Website wird eine Verbindung zu  Google-Server in den USA aufgebaut, um die Schrift zu laden oder diese zu aktualisieren.&lt;br /&gt;
&lt;br /&gt;
Durch diese Verbindung kann Google erkennen, von welcher Website eine Anfrage gestellt wird und an welche IP-Adresse die Schrift übermittelt wird.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO. Das berechtigte Interesse des Anbieters besteht an der Optimierung und dem wirtschaftlichen Betrieb der Website.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen, insbesondere zu den Möglichkeiten der Unterbindung der Datennutzung, bietet Google unter den nachfolgenden Links an:&lt;br /&gt;
&lt;br /&gt;
https://policies.google.com/privacy&lt;br /&gt;
https://adssettings.google.com/authenticated.&lt;br /&gt;
&lt;br /&gt;
=== Ärzte ===&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    Impressum&lt;br /&gt;
    Datenschutz&lt;br /&gt;
&lt;br /&gt;
PATIENTENINFORMATION ZUM DATENSCHUTZ&lt;br /&gt;
&lt;br /&gt;
Sehr geehrte Patientin, sehr geehrter Patient,&lt;br /&gt;
der Schutz Ihrer personenbezogenen Daten ist uns wichtig. Nach der EU-Datenschutz-Grundverordnung (DSGVO) sind wir verpflichtet, Sie darüber zu informieren, zu welchem Zweck unsere Praxis Daten erhebt, speichert oder weiterleitet. Der Information können Sie auch entnehmen, welche Rechte Sie in puncto Datenschutz haben.&lt;br /&gt;
1. VERANTWORTLICHKEIT FÜR DIE DATENVERARBEITUNG&lt;br /&gt;
&lt;br /&gt;
Verantwortlich für die Datenverarbeitung ist:&lt;br /&gt;
Praxisname&lt;br /&gt;
Verhaltenstherapeutische Praxis Dr. rer. nat. Dipl. Psych. Anja Schwarz&lt;br /&gt;
Adresse&lt;br /&gt;
Böllatstraße 4, 72622 Neckarhausen / Nürtingen&lt;br /&gt;
Kontaktdaten&lt;br /&gt;
Tel: 07022 244352&lt;br /&gt;
Tax: 07022 244351&lt;br /&gt;
E-Mail: schwarz@schwarz-psychotherapie.de&lt;br /&gt;
Homepage: http//www.schwarz-psychotherapie.de&lt;br /&gt;
&lt;br /&gt;
2. ZWECK DER DATENVERARBEITUNG&lt;br /&gt;
&lt;br /&gt;
Die Datenverarbeitung erfolgt aufgrund gesetzlicher Vorgaben, um den Behandlungsvertrag zwischen Ihnen und Ihrem behandelnden Psychotgherapeuten und die damit verbundenen Pflichten zu erfüllen.&lt;br /&gt;
Hierzu verarbeiten wir Ihre personenbezogenen Daten, insbesondere Ihre Gesundheitsdaten. Dazu zählen Anamnesen, Diagnosen, Therapievorschläge und Befunde, die wir oder andere Ärzte erheben. Zu diesen Zwecken können uns auch andere Ärzte oder Psychotherapeuten, bei denen Sie in Behandlung sind, Daten zur Verfügung stellen (z.B. in Arztbriefen).&lt;br /&gt;
Die Erhebung von Gesundheitsdaten ist Voraussetzung für Ihre Behandlung. Werden die notwendigen Informationen nicht bereitgestellt, kann eine sorgfältige Behandlung nicht erfolgen.&lt;br /&gt;
&lt;br /&gt;
3. EMPFÄNGER IHRER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir übermitteln Ihre personenbezogenen Daten nur dann an Dritte, wenn dies gesetzlich erlaubt ist oder Sie eingewilligt haben.&lt;br /&gt;
Empfänger Ihrer personenbezogenen Daten können vor allem andere Ärzte / Psychotherapeuten, Kassenärztliche Vereinigungen, Krankenkassen, der Medizinische Dienst der Krankenversicherung, Ärztekammern und privatärztliche Verrechnungsstellen sein.&lt;br /&gt;
Die Übermittlung erfolgt überwiegend zum Zwecke der Abrechnung der bei Ihnen erbrachten Leistungen, zur Klärung von medizinischen und sich aus Ihrem Versicherungsverhältnis ergebenden Fragen. Im Einzelfall erfolgt die Übermittlung von Daten an weitere berechtigte Empfänger.&lt;br /&gt;
&lt;br /&gt;
4. SPEICHERUNG IHRER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir bewahren Ihre personenbezogenen Daten nur solange auf, wie dies für die Durchführung der Behandlung erforderlich ist.&lt;br /&gt;
Aufgrund rechtlicher Vorgaben sind wir dazu verpflichtet, diese Daten mindestens 10 Jahre nach Abschluss der Behandlung aufzubewahren. Nach anderen Vorschriften können sich längere Aufbewahrungsfristen ergeben, zum Beispiel 30 Jahre bei Röntgenaufzeichnungen laut Paragraf 28 Absatz 3 der Röntgenverordnung.&lt;br /&gt;
&lt;br /&gt;
== Rechte ==&lt;br /&gt;
Rechte der User&lt;br /&gt;
Quelle Datenschutz.org&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AUSKUNFT, BERICHTIGUNG UND LÖSCHUNG&lt;br /&gt;
&lt;br /&gt;
Sie als Nutzer erhalten auf Antrag Ihrerseits kostenlose Auskunft darüber, welche personenbezogenen Daten über Sie gespeichert wurden. Sofern Ihr Wunsch nicht mit einer gesetzlichen Pflicht zur Aufbewahrung von Daten (z. B. Vorratsdatenspeicherung) kollidiert, haben Sie ein Anrecht auf Berichtigung falscher Daten und auf die Sperrung oder Löschung Ihrer personenbezogenen Daten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
Die folgende Auflistung umfasst alle Rechte der Betroffenen nach der DS-GVO. Rechte, die für die eigene Webseite keine Relevanz haben, müssen nicht genannt werden. Insoweit kann die Auflistung gekürzt werden.&lt;br /&gt;
Werden personenbezogene Daten von Ihnen verarbeitet, sind Sie Betroffener i.S.d. DS-GVO und es stehen Ihnen folgende Rechte gegenüber dem Verantwortlichen zu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AUSKUNFTSRECHT&lt;br /&gt;
&lt;br /&gt;
Sie können von dem Verantwortlichen eine Bestätigung darüber verlangen, ob personenbezogene Daten, die Sie betreffen, von uns verarbeitet werden. &lt;br /&gt;
Liegt eine solche Verarbeitung vor, können Sie von dem Verantwortlichen über folgende Informationen Auskunft verlangen:&lt;br /&gt;
(1) die Zwecke, zu denen die personenbezogenen Daten verarbeitet werden;&lt;br /&gt;
(2) die Kategorien von personenbezogenen Daten, welche verarbeitet werden;&lt;br /&gt;
(3) die Empfänger bzw. die Kategorien von Empfängern, gegenüber denen die Sie betreffenden personenbezogenen Daten offengelegt wurden oder noch offengelegt werden;&lt;br /&gt;
(4) die geplante Dauer der Speicherung der Sie betreffenden personenbezogenen Daten oder, falls konkrete Angaben hierzu nicht möglich sind, Kriterien für die Festlegung der Speicherdauer;&lt;br /&gt;
(5) das Bestehen eines Rechts auf Berichtigung oder Löschung der Sie betreffenden personenbezogenen Daten, eines Rechts auf Einschränkung der Verarbeitung durch den Verantwortlichen oder eines Widerspruchsrechts gegen diese Verarbeitung; &lt;br /&gt;
(6) das Bestehen eines Beschwerderechts bei einer Aufsichtsbehörde;&lt;br /&gt;
(7) alle verfügbaren Informationen über die Herkunft der Daten, wenn die personenbezogenen Daten nicht bei der betroffenen Person erhoben werden;&lt;br /&gt;
(8) das Bestehen einer automatisierten Entscheidungsfindung einschließlich Profiling gemäß Art. 22 Abs. 1 und 4 DSGVO und – zumindest in diesen Fällen – aussagekräftige Informationen über die involvierte Logik sowie die Tragweite und die angestrebten Auswirkungen einer derartigen Verarbeitung für die betroffene Person.&lt;br /&gt;
&lt;br /&gt;
Ihnen steht das Recht zu, Auskunft darüber zu verlangen, ob die Sie betreffenden personenbezogenen Daten in ein Drittland oder an eine internationale Organisation übermittelt werden. In diesem Zusammenhang können Sie verlangen, über die geeigneten Garantien gem. Art. 46 DSGVO im Zusammenhang mit der Übermittlung unterrichtet zu werden.&lt;br /&gt;
&lt;br /&gt;
Bei einer Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
Dieses Auskunftsrecht kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
RECHT AUF BERICHTIGUNG&lt;br /&gt;
&lt;br /&gt;
Sie haben ein Recht auf Berichtigung und/oder Vervollständigung gegenüber dem Verantwortlichen, sofern die verarbeiteten personenbezogenen Daten, die Sie betreffen, unrichtig oder unvollständig sind. Der Verantwortliche hat die Berichtigung unverzüglich vorzunehmen.&lt;br /&gt;
Bei Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
Ihr Recht auf Berichtigung kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RECHT AUF EINSCHRÄNKUNG DER VERARBEITUNG&lt;br /&gt;
&lt;br /&gt;
Unter den folgenden Voraussetzungen können Sie die Einschränkung der Verarbeitung der Sie betreffenden personenbezogenen Daten verlangen.&lt;br /&gt;
&lt;br /&gt;
(1) wenn Sie die Richtigkeit der Sie betreffenden personenbezogenen für eine Dauer bestreiten, die es dem Verantwortlichen ermöglicht, die Richtigkeit der personenbezogenen Daten zu überprüfen;&lt;br /&gt;
&lt;br /&gt;
(2) die Verarbeitung unrechtmäßig ist und Sie die Löschung der personenbezogenen Daten ablehnen und stattdessen die Einschränkung der Nutzung der personenbezogenen Daten verlangen;&lt;br /&gt;
&lt;br /&gt;
(3) der Verantwortliche die personenbezogenen Daten für die Zwecke der Verarbeitung nicht länger benötigt, Sie diese jedoch zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen benötigen, oder&lt;br /&gt;
&lt;br /&gt;
(4) wenn Sie Widerspruch gegen die Verarbeitung gemäß Art. 21 Abs. 1 DSGVO eingelegt haben und noch nicht feststeht, ob die berechtigten Gründe des Verantwortlichen gegenüber Ihren Gründen überwiegen.&lt;br /&gt;
&lt;br /&gt;
Wurde die Verarbeitung der Sie betreffenden personenbezogenen Daten eingeschränkt, dürfen diese Daten – von ihrer Speicherung abgesehen – nur mit Ihrer Einwilligung oder zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen oder zum Schutz der Rechte einer anderen natürlichen oder juristischen Person oder aus Gründen eines wichtigen öffentlichen Interesses der Union oder eines Mitgliedstaats verarbeitet werden.&lt;br /&gt;
Wurde die Einschränkung der Verarbeitung nach den o.g. Voraussetzungen eingeschränkt, werden Sie von dem Verantwortlichen unterrichtet bevor die Einschränkung aufgehoben wird.&lt;br /&gt;
&lt;br /&gt;
Bei Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
&lt;br /&gt;
Ihr Recht auf Einschränkung der Verarbeitung kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
RECHT AUF LÖSCHUNG&lt;br /&gt;
&lt;br /&gt;
a) Löschungspflicht&lt;br /&gt;
Sie können von dem Verantwortlichen verlangen, dass die Sie betreffenden personenbezogenen Daten unverzüglich gelöscht werden, und der Verantwortliche ist verpflichtet, diese Daten unverzüglich zu löschen, sofern einer der folgenden Gründe zutrifft:&lt;br /&gt;
&lt;br /&gt;
(1) Die Sie betreffenden personenbezogenen Daten sind für die Zwecke, für die sie erhoben oder auf sonstige Weise verarbeitet wurden, nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
(2) Sie widerrufen Ihre Einwilligung, auf die sich die Verarbeitung gem. Art. 6 Abs. 1 lit. a oder Art. 9 Abs. 2 lit. a DSGVO stützte, und es fehlt an einer anderweitigen Rechtsgrundlage für die Verarbeitung. &lt;br /&gt;
&lt;br /&gt;
(3) Sie legen gem. Art. 21 Abs. 1 DSGVO Widerspruch gegen die Verarbeitung ein und es liegen keine vorrangigen berechtigten Gründe für die Verarbeitung vor, oder Sie legen gem. Art. 21 Abs. 2 DSGVO Widerspruch gegen die Verarbeitung ein. &lt;br /&gt;
&lt;br /&gt;
(4) Die Sie betreffenden personenbezogenen Daten wurden unrechtmäßig verarbeitet. &lt;br /&gt;
&lt;br /&gt;
(5) Die Löschung der Sie betreffenden personenbezogenen Daten ist zur Erfüllung einer rechtlichen Verpflichtung nach dem Unionsrecht oder dem Recht der Mitgliedstaaten erforderlich, dem der Verantwortliche unterliegt. &lt;br /&gt;
&lt;br /&gt;
(6) Die Sie betreffenden personenbezogenen Daten wurden in Bezug auf angebotene Dienste der Informationsgesellschaft gemäß Art. 8 Abs. 1 DSGVO erhoben.&lt;br /&gt;
&lt;br /&gt;
INFORMATION AN DRITTE&lt;br /&gt;
&lt;br /&gt;
Hat der Verantwortliche die Sie betreffenden personenbezogenen Daten öffentlich gemacht und ist er gem. Art. 17 Abs. 1 DSGVO zu deren Löschung verpflichtet, so trifft er unter Berücksichtigung der verfügbaren Technologie und der Implementierungskosten angemessene Maßnahmen, auch technischer Art, um für die Datenverarbeitung Verantwortliche, die die personenbezogenen Daten verarbeiten, darüber zu informieren, dass Sie als betroffene Person von ihnen die Löschung aller Links zu diesen personenbezogenen Daten oder von Kopien oder Replikationen dieser personenbezogenen Daten verlangt haben. &lt;br /&gt;
&lt;br /&gt;
AUSNAHMEN&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Löschung besteht nicht, soweit die Verarbeitung erforderlich ist&lt;br /&gt;
&lt;br /&gt;
(1) zur Ausübung des Rechts auf freie Meinungsäußerung und Information;&lt;br /&gt;
&lt;br /&gt;
(2) zur Erfüllung einer rechtlichen Verpflichtung, die die Verarbeitung nach dem Recht der Union oder der Mitgliedstaaten, dem der Verantwortliche unterliegt, erfordert, oder zur Wahrnehmung einer Aufgabe, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, die dem Verantwortlichen übertragen wurde;&lt;br /&gt;
&lt;br /&gt;
(3) aus Gründen des öffentlichen Interesses im Bereich der öffentlichen Gesundheit gemäß Art. 9 Abs. 2 lit. h und i sowie Art. 9 Abs. 3 DSGVO;&lt;br /&gt;
&lt;br /&gt;
(4) für im öffentlichen Interesse liegende Archivzwecke, wissenschaftliche oder historische Forschungszwecke oder für statistische Zwecke gem. Art. 89 Abs. 1 DSGVO, soweit das unter Abschnitt a) genannte Recht voraussichtlich die Verwirklichung der Ziele dieser Verarbeitung unmöglich macht oder ernsthaft beeinträchtigt, oder&lt;br /&gt;
&lt;br /&gt;
(5) zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&lt;br /&gt;
&lt;br /&gt;
Recht auf Unterrichtung&lt;br /&gt;
&lt;br /&gt;
Haben Sie das Recht auf Berichtigung, Löschung oder Einschränkung der Verarbeitung gegenüber dem Verantwortlichen geltend gemacht, ist dieser verpflichtet, allen Empfängern, denen die Sie betreffenden personenbezogenen Daten offengelegt wurden, diese Berichtigung oder Löschung der Daten oder Einschränkung der Verarbeitung mitzuteilen, es sei denn, dies erweist sich als unmöglich oder ist mit einem unverhältnismäßigen Aufwand verbunden.&lt;br /&gt;
Ihnen steht gegenüber dem Verantwortlichen das Recht zu, über diese Empfänger unterrichtet zu werden.&lt;br /&gt;
&lt;br /&gt;
Recht auf Datenübertragbarkeit&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, die Sie betreffenden personenbezogenen Daten, die Sie dem Verantwortlichen bereitgestellt haben, in einem strukturierten, gängigen und maschinenlesbaren Format zu erhalten. Außerdem haben Sie das Recht diese Daten einem anderen Verantwortlichen ohne Behinderung durch den Verantwortlichen, dem die personenbezogenen Daten bereitgestellt wurden, zu übermitteln, sofern&lt;br /&gt;
&lt;br /&gt;
(1) die Verarbeitung auf einer Einwilligung gem. Art. 6 Abs. 1 lit. a DSGVO oder Art. 9 Abs. 2 lit. a DSGVO oder auf einem Vertrag gem. Art. 6 Abs. 1 lit. b DSGVO beruht und&lt;br /&gt;
&lt;br /&gt;
(2) die Verarbeitung mithilfe automatisierter Verfahren erfolgt.&lt;br /&gt;
&lt;br /&gt;
In Ausübung dieses Rechts haben Sie ferner das Recht, zu erwirken, dass die Sie betreffenden personenbezogenen Daten direkt von einem Verantwortlichen einem anderen Verantwortlichen übermittelt werden, soweit dies technisch machbar ist. Freiheiten und Rechte anderer Personen dürfen hierdurch nicht beeinträchtigt werden.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Datenübertragbarkeit gilt nicht für eine Verarbeitung personenbezogener Daten, die für die Wahrnehmung einer Aufgabe erforderlich ist, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, die dem Verantwortlichen übertragen wurde.&lt;br /&gt;
&lt;br /&gt;
WIDERSPRUCHSRECHT&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, jederzeit gegen die Verarbeitung der Sie betreffenden personenbezogenen Daten, die aufgrund von Art. 6 Abs. 1 lit. e oder f DSGVO erfolgt, Widerspruch einzulegen; dies gilt auch für ein auf diese Bestimmungen gestütztes Profiling. &lt;br /&gt;
Der Verantwortliche verarbeitet die Sie betreffenden personenbezogenen Daten nicht mehr, es sei denn, er kann zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die Ihre Interessen, Rechte und Freiheiten überwiegen, oder die Verarbeitung dient der Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&lt;br /&gt;
&lt;br /&gt;
Werden die Sie betreffenden personenbezogenen Daten verarbeitet, um Direktwerbung zu betreiben, haben Sie das Recht, jederzeit Widerspruch gegen die Verarbeitung der Sie betreffenden personenbezogenen Daten zum Zwecke derartiger Werbung einzulegen; dies gilt auch für das Profiling, soweit es mit solcher Direktwerbung in Verbindung steht.&lt;br /&gt;
Widersprechen Sie der Verarbeitung für Zwecke der Direktwerbung, so werden die Sie betreffenden personenbezogenen Daten nicht mehr für diese Zwecke verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Sie haben die Möglichkeit, im Zusammenhang mit der Nutzung von Diensten der Informationsgesellschaft – ungeachtet der Richtlinie 2002/58/EG – Ihr Widerspruchsrecht mittels automatisierter Verfahren auszuüben, bei denen technische Spezifikationen verwendet werden.&lt;br /&gt;
Bei Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
Sie haben auch das Recht, aus Gründen, die sich aus Ihrer besonderen Situation ergeben, bei der Verarbeitung Sie betreffender personenbezogener Daten, die zu wissenschaftlichen oder historischen Forschungszwecken oder zu statistischen Zwecken gem. Art. 89 Abs. 1 DSGVO erfolgt, dieser zu widersprechen.&lt;br /&gt;
Ihr Widerspruchsrecht kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
RECHT AUF WIDERRUF DER DATENSCHUTZRECHTLICHEN EINWILLIGUNGSERKLÄRUNG&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, Ihre datenschutzrechtliche Einwilligungserklärung jederzeit zu widerrufen. Durch den Widerruf der Einwilligung wird die Rechtmäßigkeit der aufgrund der Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt.&lt;br /&gt;
&lt;br /&gt;
Automatisierte Entscheidung im Einzelfall einschließlich Profiling&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, nicht einer ausschließlich auf einer automatisierten Verarbeitung – einschließlich Profiling – beruhenden Entscheidung unterworfen zu werden, die Ihnen gegenüber rechtliche Wirkung entfaltet oder Sie in ähnlicher Weise erheblich beeinträchtigt. Dies gilt nicht, wenn die Entscheidung &lt;br /&gt;
&lt;br /&gt;
(1)	für den Abschluss oder die Erfüllung eines Vertrags zwischen Ihnen und dem Verantwortlichen erforderlich ist,&lt;br /&gt;
&lt;br /&gt;
(2)	aufgrund von Rechtsvorschriften der Union oder der Mitgliedstaaten, denen der Verantwortliche unterliegt, zulässig ist und diese Rechtsvorschriften angemessene Maßnahmen zur Wahrung Ihrer Rechte und Freiheiten sowie Ihrer berechtigten Interessen enthalten oder&lt;br /&gt;
&lt;br /&gt;
(3)	mit Ihrer ausdrücklichen Einwilligung erfolgt.&lt;br /&gt;
&lt;br /&gt;
Allerdings dürfen diese Entscheidungen nicht auf besonderen Kategorien personenbezogener Daten nach Art. 9 Abs. 1 DSGVO beruhen, sofern nicht Art. 9 Abs. 2 lit. a oder g DSGVO gilt und angemessene Maßnahmen zum Schutz der Rechte und Freiheiten sowie Ihrer berechtigten Interessen getroffen wurden.&lt;br /&gt;
Hinsichtlich der in (1) und (3) genannten Fälle trifft der Verantwortliche angemessene Maßnahmen, um die Rechte und Freiheiten sowie Ihre berechtigten Interessen zu wahren, wozu mindestens das Recht auf Erwirkung des Eingreifens einer Person seitens des Verantwortlichen, auf Darlegung des eigenen Standpunkts und auf Anfechtung der Entscheidung gehört.&lt;br /&gt;
&lt;br /&gt;
Recht auf Beschwerde bei einer Aufsichtsbehörde&lt;br /&gt;
&lt;br /&gt;
Unbeschadet eines anderweitigen verwaltungsrechtlichen oder gerichtlichen Rechtsbehelfs steht Ihnen das Recht auf Beschwerde bei einer Aufsichtsbehörde, insbesondere in dem Mitgliedstaat ihres Aufenthaltsorts, ihres Arbeitsplatzes oder des Orts des mutmaßlichen Verstoßes, zu, wenn Sie der Ansicht sind, dass die Verarbeitung der Sie betreffenden personenbezogenen Daten gegen die DSGVO verstößt. &lt;br /&gt;
Die Aufsichtsbehörde, bei der die Beschwerde eingereicht wurde, unterrichtet den Beschwerdeführer über den Stand und die Ergebnisse der Beschwerde einschließlich der Möglichkeit eines gerichtlichen Rechtsbehelfs nach Art. 78 DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kriterien zum Ergänzen der Datenschutzerklärung ==&lt;br /&gt;
Umfang, Rechtsgrundlage, Zweck, Dauer, Widerspruchsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
== Komplette Beispiele ==&lt;br /&gt;
Im Zweifel müssen die Beispiele anhand der üblichen Kriterien ergänzt werden (siehe oben)&lt;br /&gt;
=== Beispiel MVZ-Bad Reichenhall ===&lt;br /&gt;
&lt;br /&gt;
Datenschutz&lt;br /&gt;
&lt;br /&gt;
Wir freuen uns über Ihren Besuch auf unserer Webseite sowie über Ihr Interesse an unserem Unternehmen. Wir verstehen Datenschutz als kundenorientiertes Qualitätsmerkmal. Der Schutz Ihrer persönlichen Daten und die Wahrung Ihres Persönlichkeitsrechts sind uns wichtig.&lt;br /&gt;
&lt;br /&gt;
Mit dieser Datenschutzerklärung möchten wir alle Besucher unserer Webseite transparent über Art, Umfang und Zweck der von uns erhobenen, genutzten und verarbeiteten personenbezogenen Daten informieren und Sie über die Ihnen zustehenden Rechte aufklären.&lt;br /&gt;
&lt;br /&gt;
Eine Nutzung unserer Webseite ist grundsätzlich ohne die Angabe von personenbezogener Daten möglich. Sollten Sie jedoch über unsere Webseite Dienste unseres Unternehmens in Anspruch nehmen, kann die Verarbeitung Ihrer personenbezogenen Daten erforderlich werden.&lt;br /&gt;
&lt;br /&gt;
Die beim Besuch unserer Webseiten automatisch erhobenen Daten oder aber bei der Inanspruchnahme von Diensten von Ihnen eingetragenen personenbezogenen Daten, werden gemäß den jeweils aktuellen gesetzlichen Bestimmungen zum Schutz personenbezogener Daten verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Ist eine Verarbeitung Ihrer personenbezogenen Daten erforderlich und besteht für eine solche Verarbeitung keine gesetzliche Grundlage, holen wir grundsätzlich eine Einwilligung für den erforderlichen Zweck der Verarbeitung ein.&lt;br /&gt;
&lt;br /&gt;
Als für die Verarbeitung verantwortliches Unternehmen, haben wir technische und organisatorische Maßnahmen festgelegt, um ein möglichst hohes Schutzniveau Ihrer personenbezogenen Daten sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
Wir weisen jedoch darauf hin, dass eine Datenübertragung über das World Wide Web grundsätzlich Sicherheitslücken aufweisen kann.&lt;br /&gt;
&lt;br /&gt;
Möchten Sie Dienste unseres Unternehmens in Anspruch nehmen und hierfür nicht den Weg der Datenübermittlung über das World Wide Web nutzen wollen, beseht auch die Möglichkeit der telefonischen Kontaktaufnahme.&lt;br /&gt;
&lt;br /&gt;
Kontaktdaten des für die Verarbeitung Verantwortlichen&lt;br /&gt;
&lt;br /&gt;
Verantwortlicher im Sinne der Datenschutz-Grundverordnung, ist:&lt;br /&gt;
&lt;br /&gt;
MVZ Bad Reichenhall&lt;br /&gt;
Salus Gesundheitszentrum GmbH u. Co KG&lt;br /&gt;
Rinckstr. 7-9&lt;br /&gt;
83435 Bad Reichenhall&lt;br /&gt;
info(@)salus-klinik.de&lt;br /&gt;
&lt;br /&gt;
Als Datenschutzbeauftragter ist bestellt:&lt;br /&gt;
&lt;br /&gt;
Herr Stephan Hartinger&lt;br /&gt;
Coseco GmbH&lt;br /&gt;
Telefon: 08232 80988-70&lt;br /&gt;
E-Mail: datenschutz@salus-klinik.de&lt;br /&gt;
&lt;br /&gt;
Erhebung von allgemeinen Zugriffsinformationen&lt;br /&gt;
&lt;br /&gt;
Bei jedem Aufruf unserer Webseite werden automatisch Server Log File Informationen, die Ihr Browser an uns übermittelt, erfasst. Dies sind:&lt;br /&gt;
&lt;br /&gt;
    IP-Adresse (Internet-Protokoll-Adresse) des zugreifenden Computers&lt;br /&gt;
    die Webseite, von der aus Sie uns besuchen (Referrer)&lt;br /&gt;
    die Webseite, die Sie bei uns besuchen&lt;br /&gt;
    das Datum und die Dauer des Besuches&lt;br /&gt;
    Browsertyp und Browser-Einstellungen&lt;br /&gt;
    Betriebssystem&lt;br /&gt;
&lt;br /&gt;
Wir weisen darauf hin, dass diese Daten nicht einer bestimmten Person zugeordnet werden können. Wir verwenden diese technischen Zugriffsinformationen ausschließlich für folgende Zwecke:&lt;br /&gt;
&lt;br /&gt;
    Um die Attraktivität und Bedienbarkeit unserer Webseiten zu verbessern,&lt;br /&gt;
    Um technische Probleme auf unserer Webseite frühzeitig zu erkennen.&lt;br /&gt;
    die Inhalte unserer Internetseite korrekt auszuliefern,&lt;br /&gt;
    und um Strafverfolgungsbehörden im Falle eines Cyberangriffes die zur Strafverfolgung notwendigen Informationen bereitzustellen.&lt;br /&gt;
&lt;br /&gt;
Diese Daten werden für als technische Vorkehrung maximal 7 Tage zum Schutz der Datenverarbeitungssysteme gegen unerlaubte Zugriffe gespeichert.&lt;br /&gt;
&lt;br /&gt;
Erhebung und Weitergabe von personenbezogenen Daten&lt;br /&gt;
&lt;br /&gt;
Wir verwenden Ihre persönlichen Daten nur zu den auf dieser Informationsseite zum Datenschutz angeführten Zwecken.&lt;br /&gt;
Auf unserer Webseite existieren folgende Eingabemasken für die Erhebung von personenbezogenen Daten:&lt;br /&gt;
&lt;br /&gt;
Formulare auf unserer Webseite&lt;br /&gt;
&lt;br /&gt;
Kontaktaufnahme per Mail oder Kontaktformular&lt;br /&gt;
Wir bieten Ihnen auf unserer Seite die Möglichkeit, mit uns per E-Mail und/oder über ein Kontaktformular in Verbindung zu treten.&lt;br /&gt;
Sofern Sie per E-Mail oder über ein Kontaktformular mit uns in Kontakt treten, werden die von Ihnen übermittelten personenbezogenen Daten automatisch gespeichert.&lt;br /&gt;
Solche, auf freiwilliger Basis von Ihnen an uns übermittelten personenbezogenen Daten, werden für Zwecke der Bearbeitung Ihrer Anfrage oder der Kontaktaufnahme zur betroffenen Person gespeichert. Es erfolgt keine Weitergabe dieser personenbezogenen Daten an Dritte.&lt;br /&gt;
&lt;br /&gt;
Wofür werden Cookies verwendet?&lt;br /&gt;
&lt;br /&gt;
Unsere Webseite benutzt an mehreren Stellen sogenannte Cookies. Ausführliche Informationen und welche Cookies zum Einsatz kommen, können Sie unserer Cookie Richtlinie (Link auf Cookie Richtlinie) entnehmen.&lt;br /&gt;
&lt;br /&gt;
Einsatz und Verwendung von Tracking-, Analyse-Tools&lt;br /&gt;
&lt;br /&gt;
Auf dieser Webseite kommen keine Tracking-, Analyse-Tools&lt;br /&gt;
&lt;br /&gt;
Löschung, Sperrung und Dauer der Speicherung von personenbezogenen Daten&lt;br /&gt;
&lt;br /&gt;
Wir verarbeiten und speichern Ihre personenbezogenen Daten nur für den Zeitraum, der zur Erreichung des jeweiligen Speicherungszwecks erforderlich ist oder wie es die vom Gesetzgeber vorgesehenen vielfältigen Aufbewahrungsfristen vorsehen.&lt;br /&gt;
Nach Fortfall eines Speicherungszweckes oder nach Ablauf der vom Gesetzgeber vorgesehenen Aufbewahrungsfrist, werden die personenbezogenen Daten routinemäßig und entsprechend den gesetzlichen Vorschriften für eine weitere Verarbeitung gesperrt oder gelöscht.&lt;br /&gt;
&lt;br /&gt;
Datenschutzrechte der betroffenen Person&lt;br /&gt;
&lt;br /&gt;
Wenn Sie Fragen zu Ihren personenbezogenen Daten haben, können Sie sich jederzeit schriftlich an uns wenden. Sie haben nach DS-GVO folgende Rechte:&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Auskunft (Unterpunkt Art. 15 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben jederzeit das Recht eine Auskunft darüber zu erhalten, welche Kategorien und Informationen zu Ihren personenbezogenen Daten von uns zu welchem Zweck verarbeitet und wie lange und nach welchen Kriterien diese Daten gespeichert werden und ob in diesem Zusammenhang eine automatisierte Entscheidungsfindung einschließlich Profiling angewendet wird. Außerdem haben Sie das Recht zu erfahren welche Empfänger bzw. Kategorien von Empfängern Ihre Daten offengelegt worden sind oder noch offengelegt werden; insbesondere bei Empfängern in Drittländer oder internationalen Organisationen. In diesem Fall haben Sie auch das Recht über geeignete Garantien im Zusammenhang mit der Übermittlung Ihrer personenbezogenen Daten unterrichtet zu werden.&lt;br /&gt;
&lt;br /&gt;
Neben dem Beschwerderecht bei der Aufsichtsbehörde und dem Informationsrecht über die Herkunft Ihrer Daten haben Sie das Recht auf Löschung, Berichtigung sowie das Recht auf Einschränkung für bzw. Widerspruchsrecht gegen eine Verarbeitung Ihrer personenbezogenen Daten.&lt;br /&gt;
&lt;br /&gt;
In allen oben genannten Fällen haben Sie das Recht vom Datenbearbeiter eine kostenfreie Kopie Ihrer personenbezogenen Daten, die von uns verarbeitet werden, zu verlangen. Für alle weiteren Kopien, die Sie beantragen oder die über das Informationsrecht der betroffenen Person hinausgehen, sind wir berechtigt eine angemessene Verwaltungsgebühr zu erheben.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Berichtigung (Art. 16 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, der unverzüglichen Berichtigung Ihrer unrichtigen personenbezogenen Daten zu verlangen und unter Berücksichtigung der Zwecke der Verarbeitung, die Vervollständigung unvollständiger personenbezogener Daten auch mittels einer ergänzenden Erklärung zu verlangen. Möchten Sie das Recht auf Berichtigung in Anspruch nehmen, können Sie sich jederzeit an unseren Datenschutzbeauftragten oder den für die Verarbeitung Verantwortlichen wenden.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Löschung (Art. 17 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, die unverzügliche Löschung Ihrer Daten zu verlangen („Recht auf Vergessenwerden“) insbesondere dann, wenn die Speicherung der Daten nicht mehr notwendig ist, Sie Ihre Einwilligung zur Datenverarbeitung widerrufen, Ihre Daten unrechtmäßig verarbeitet wurden oder unrechtmäßig erhoben wurden und eine Rechtspflicht zum Löschen nach EU- oder nationalem Recht besteht.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Vergessenwerden findet jedoch keine Anwendung, wenn ein überwiegendes Recht auf freie Meinungsäußerung bzw. der Informationsfreiheit besteht, die Datenspeicherung für die Erfüllung einer rechtlichen Verpflichtung (z. B. Aufbewahrungspflichten) erforderlich ist, Archivzwecke der Löschung entgegenstehen oder die Speicherung zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen dient.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Einschränkung (Art. 18 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht auf Einschränkung der Verarbeitung Ihrer Daten durch den für die Verarbeitung Verantwortlichen zu verlangen, wenn die Richtigkeit der Daten von Ihnen bestritten wird, die Verarbeitung unrechtmäßig ist, Sie die Löschung Ihrer personenbezogenen Daten ablehnen und stattdessen eine Einschränkung der Verarbeitung verlangen, wenn die Erforderlichkeit für den Verarbeitungszweck entfällt oder Sie der Verarbeitung gemäß Artikel 21 Absatz 1 widersprochen haben, solange noch nicht feststeht, ob berechtigte Gründe unsererseits gegenüber Ihren überwiegen.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Datenübertragbarkeit (Art. 20 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht auf Übertragbarkeit Ihrer personenbezogenen Daten, welche Sie unserem Unternehmen in Form eines gängigen Formates bereitgestellt haben, damit Sie ohne Behinderung Ihre personenbezogenen Daten an einen anderen Verantwortlichen weiterleiten lassen können, sofern bspw. Ihrerseits eine Einwilligung vorliegt und die Verarbeitung mittels eines automatisierten Verfahrens erfolgt.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Widerspruch (Art. 21 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, jederzeit gegen die Erhebung, Verarbeitung oder Nutzung ihrer personenbezogenen Daten für Zwecke der Direktwerbung oder der Markt- und Meinungsforschung sowie der allgemeinen geschäftsmäßigen Datenverarbeitung zu widersprechen, es sei denn, wir können zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die Ihren Interessen, Rechten und Freiheiten überwiegen.&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus können Sie Ihr Recht auf Widerspruch nicht wahrnehmen, wenn eine Rechtsvorschrift die Erhebung, Verarbeitung oder Nutzung der Daten vorsieht oder zur Erhebung, Verarbeitung oder Nutzung verpflichtet.&lt;br /&gt;
&lt;br /&gt;
Beschwerderecht bei der Datenschutzaufsichtsbehörde (Art. 77 DS-GVO i. V. m § 19 BDSG)&lt;br /&gt;
&lt;br /&gt;
Ihnen wird das Recht zuerkannt, sich bei der zuständigen Aufsichtsbehörde zu beschweren, wenn sie der Ansicht sind, dass ein Verstoß bei der Verarbeitung Ihrer personenbezogenen Daten vorliegt.&lt;br /&gt;
&lt;br /&gt;
Recht auf Widerruf einer datenschutzrechtlichen Einwilligung (Art. 7 Abs. 3 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Eine erteilte Einwilligung für die Verarbeitung Ihrer personenbezogenen Daten können Sie jederzeit und ohne Angaben von Gründen widerrufen. Dies gilt auch für den Widerruf von Einwilligungserklärungen, die vor Inkrafttreten der EU-Datenschutz-Grundverordnung, uns gegenüber erteilt worden ist.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage der Verarbeitung&lt;br /&gt;
&lt;br /&gt;
Bei der Verarbeitung von personenbezogenen Daten, für die wir eine Einwilligung der betroffenen Person einholen, dient Art. 6 Abs. 1, Satz 1 a) der Datenschutz-Grundverordnung (DSGVO) als Rechtsgrundlage.Bei der Verarbeitung von personenbezogenen Daten, die zur Erfüllung eines Vertrages erforderlich sind, dessen Vertragspartei die betroffene Person ist, dient Art. 6 Ab. 1, Satz 1 b) (DSGVO) als Rechtsgrundlage. Diese Regelung umfasst auch Verarbeitungsvorgänge, die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind.&lt;br /&gt;
&lt;br /&gt;
Soweit eine Verarbeitung personenbezogener Daten zur Erfüllung einer rechtlichen Verpflichtung erforderlich ist, denen unser Unternehmen unterliegt, dient Art. 6 Abs. 1, Satz 1 c) (DSGVO) als Rechtsgrundlage.&lt;br /&gt;
&lt;br /&gt;
Ist die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich und überwiegen die Interessen, Grundrechte und Grundfreiheiten des Betroffenen das erstgenannte Interesse nicht, so dient Art. 6 Abs. 1 Satz 1 f) (DSGVO) als Rechtsgrundlage für die Verarbeitung. Das berechtige Interesse unseres Unternehmens liegt in der Durchführung unserer Geschäftstätigkeit sowie in der Analyse, Optimierung und Erhaltung der Sicherheit unseres Onlineangebotes.&lt;br /&gt;
&lt;br /&gt;
Übermittlung von Daten an Dritte&lt;br /&gt;
&lt;br /&gt;
Wir verkaufen oder verleihen generell keine Nutzerdaten. Eine Übermittlung an Dritte über den in dieser Datenschutzerklärung beschriebenen Rahmen hinaus, findet nur dann statt, wenn dies zur Abwicklung des jeweiligen angeforderten Dienstes nötig ist.&lt;br /&gt;
&lt;br /&gt;
Wir übermitteln Daten nur dann, wenn dazu eine rechtliche Verpflichtung besteht. Das ist dann der Fall, wenn staatliche Einrichtungen (z.B. Strafverfolgungsbehörden) schriftlich um Auskunft ersuchen oder eine richterliche Verfügung vorliegt.&lt;br /&gt;
&lt;br /&gt;
Eine Übermittlung von personenbezogenen Daten in sogenannte Drittstaaten außerhalb des EU/ EWR-Raumes findet nicht statt.&lt;br /&gt;
&lt;br /&gt;
Gesetzliche oder vertragliche Vorschriften zur Bereitstellung von personenbezogenen Daten sowie mögliche Folgen der Nichtbereitstellung&lt;br /&gt;
&lt;br /&gt;
Wir weisen hiermit darauf hin, dass die Bereitstellung von personenbezogenen Daten in bestimmten Fällen (z.B. Steuervorschriften) gesetzlich vorgeschrieben ist oder sich aus vertraglichen Regelungen (z.B. Angaben zum/des Vertragspartners) ergeben kann. Beispielsweise kann es für einen Vertragsabschluss erforderlich sein, dass die betroffene Person/der Vertragspartner seine personenbezogenen Daten zur Verfügung stellen muss, damit sein Anliegen (z.B. Bestellung) überhaupt von uns bearbeitet werden kann. Eine Verpflichtung zur Bereitstellung von personenbezogenen Daten ergibt sich vor allem bei Vertragsabschlüssen. Sollten in diesem Fall keine personenbezogenen Daten bereitgestellt werden, kann der Vertrag mit der betroffenen Person nicht abgeschlossen werden. Vor einer Bereitstellung personenbezogener Daten durch den Betroffenen kann sich der Betroffene an unseren Datenschutzbeauftragten oder an den für die Verarbeitung Verantwortlichen wenden. Der Datenschutzbeauftragte oder der für die Verarbeitung Verantwortliche klärt dann den Betroffenen darüber auf, ob die Bereitstellung der benötigten personenbezogenen Daten gesetzlich oder vertraglich vorgeschrieben bzw. für den Vertragsabschluss erforderlich ist und ob sich aus den Anliegen der betroffenen Person eine Verpflichtung ergibt, die personenbezogenen Daten bereitzustellen bzw. welche Folgen eine Nichtbereitstellung der gewünschten Daten für den Betroffenen hat.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel Justizministerium BW ===&lt;br /&gt;
==== Datenschutzhinweis ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutzhinweis&lt;br /&gt;
Die nachfolgenden Datenschutzhinweise geben einen Überblick über die Erhebung und Verarbeitung Ihrer Daten. Die vollständigen Informationen ergeben sich aus der Datenschutzerklärung.&lt;br /&gt;
&lt;br /&gt;
Welche Daten erfassen wir von Ihnen?&lt;br /&gt;
1. Beim Aufruf unserer Webseite:&lt;br /&gt;
&lt;br /&gt;
Ihre IP-Adresse zusammen mit dem Zeitpunkt und Inhalt Ihres Abrufs einschließlich der übertragenen Datenmenge und der Meldung, ob der Abruf erfolgreich war. Diese Daten werden nach Ende des Zugriffs auf die Webseite gelöscht.&lt;br /&gt;
&lt;br /&gt;
2. Aufgrund ihrer Eingaben auf unserer Webseite:&lt;br /&gt;
&lt;br /&gt;
Auf dem Kontaktformular: Ihr Vor- und Nachname und Ihre E-Mail-Adresse&lt;br /&gt;
Wenn Sie bei uns Publikationen bestellen: Den Inhalt Ihrer Bestellung und sowie Ihr Geschlecht, Ihren Nachnamen, Ihre Anschrift und Ihre E-Mail-Adresse&lt;br /&gt;
Wenn Sie bei uns den Newsletter bestellen: Ihre E-Mail-Adresse&lt;br /&gt;
3. Weitere Daten erheben wir nicht.&lt;br /&gt;
Auf welche Weise erheben wir Ihre Daten?&lt;br /&gt;
Die Daten, die wir bei jedem Zugriff erheben, protokollieren wir automatisiert; ansonsten nur aufgrund Ihrer Eingaben und beim Bestellservice für Broschüren durch einen temporären Cookie.&lt;br /&gt;
Wofür nutzen wir Ihre Daten?&lt;br /&gt;
Ausschließlich zur Bereitstellung, Optimierung und Sicherheit unseres Internetangebots&lt;br /&gt;
Mit Ihrer Einwilligung zur Entgegenahme Ihrer Mitteilung und zur Abwicklung Ihrer Bestellung&lt;br /&gt;
Wir nutzen Ihre Daten auch&lt;br /&gt;
nicht zur Profilbildung&lt;br /&gt;
nicht für Werbung&lt;br /&gt;
grundätzlich nicht zur Weitergabe an Dritte, außer:&lt;br /&gt;
&lt;br /&gt;
Bei der Bestellung von Publikationen teilen wir Ihre Adressdaten dem Versanddienstleister mit&lt;br /&gt;
Zur Verfolgung rechtlicher Interessen, insbesondere wenn die Daten im Zusammenhang mit einem Angriff auf unsere IT-Strukturen stehen&lt;br /&gt;
Welche Rechte haben Sie:&lt;br /&gt;
Auskunft&lt;br /&gt;
Löschung&lt;br /&gt;
Berichtigung&lt;br /&gt;
Widerspruch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== Datenschutz.org====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutzerklärung&lt;br /&gt;
Das Bundesministerium der Justiz und für Verbraucherschutz nimmt den Schutz Ihrer personenbezogenen Daten sehr ernst. Wir möchten, dass Sie wissen, wann wir welche Daten erheben und wie wir sie verwenden. Wir haben technische und organisatorische Maßnahmen getroffen, die sicherstellen, dass die Vorschriften über den Datenschutz sowohl von uns als auch von externen Dienstleistern beachtet werden. Im Zuge der Weiterentwicklung unserer Webseiten und der Implementierung neuer Technologien, um unseren Service für Sie zu verbessern, können auch Änderungen dieser Datenschutzerklärung erforderlich werden. Daher empfehlen wir Ihnen, sich diese Datenschutzerklärung ab und zu erneut durchzulesen.&lt;br /&gt;
&lt;br /&gt;
Zugriff auf das Internetangebot&lt;br /&gt;
Jeder Zugriff auf das Internetangebot des Bundesministeriums der Justiz und für Verbraucherschutz wird in einer Protokolldatei gespeichert. In der Protokolldatei werden folgende Daten maximal 14 Tage gespeichert:&lt;br /&gt;
&lt;br /&gt;
Name der abgerufenen Datei&lt;br /&gt;
Datum und Uhrzeit des Abrufs&lt;br /&gt;
übertragene Datenmenge&lt;br /&gt;
Meldung, ob der Abruf erfolgreich war&lt;br /&gt;
Die gespeicherten Daten werden nur zur Optimierung des Internetangebotes ausgewertet.&lt;br /&gt;
Wenn Sie Informationsmaterial, Newsletter, Autogrammkarten oder Broschüren bestellen, fragen wir Sie nach Ihrem Namen und nach anderen persönlichen Informationen. Es unterliegt Ihrer freien Entscheidung, ob Sie diese Daten eingeben. Ihre Angaben speichern wir auf besonders geschützten Servern in Deutschland. Der Zugriff darauf ist nur wenigen besonders befugten Personen möglich, die mit der technischen, kaufmännischen oder redaktionellen Betreuung der Server befasst sind.&lt;br /&gt;
&lt;br /&gt;
Weitergabe personenbezogener Daten an Dritte&lt;br /&gt;
Daten, die beim Zugriff auf das Internetangebot des Bundesministeriums der Justiz und für Verbraucherschutz protokolliert worden sind, werden an Dritte nur übermittelt, soweit wir gesetzlich oder durch Gerichtsentscheidung dazu verpflichtet sind oder die Weitergabe im Falle von Angriffen auf die Internetinfrastruktur des BMJV zur Rechts- oder Strafverfolgung erforderlich ist. Eine Weitergabe zu anderen nichtkommerziellen oder zu kommerziellen Zwecken erfolgt nicht.&lt;br /&gt;
&lt;br /&gt;
Im Falle der Bestellung von Informationsmaterial verwenden wir die von Ihnen eingegebenen personenbezogenen Informationen nur innerhalb des Bundesministeriums der Justiz und für Verbraucherschutz und der mit dem Broschürenversand beauftragten Unternehmen. Wir geben sie nicht ohne Ihre ausdrückliche Einwilligung an Dritte weiter.&lt;br /&gt;
&lt;br /&gt;
Schutz personenbezogener Daten im Rahmen der europäischen Zusammenarbeit im Verbraucherschutz&lt;br /&gt;
Die Erklärung zum Schutz personenbezogener Daten im Rahmen der europäischen Zusammenarbeit im Verbraucherschutz finden Sie hier.&lt;br /&gt;
&lt;br /&gt;
Einsatz von Cookies&lt;br /&gt;
Auf den Seiten unseres Bestellservices für Broschüren kommt ein Cookie zum Einsatz, das für die Zeit ihres Besuchs auf der Website gültig ist. Dies ist für die Funktion des Warenkorbs aus technischen Gründen notwendig. Die meisten Browser sind so eingestellt, dass sie Cookies automatisch akzeptieren. Sie können das Speichern von Cookies jedoch deaktivieren oder Ihren Browser so einstellen, dass Cookies nur für die Dauer der jeweiligen Verbindung zum Internet gespeichert werden.&lt;br /&gt;
&lt;br /&gt;
Minderjährigenschutz&lt;br /&gt;
Personen unter 18 Jahren sollten ohne Zustimmung der Eltern oder Erziehungsberechtigten keine personenbezogenen Daten an uns übermitteln. Wir fordern keine personenbezogenen Daten von Kindern und Jugendlichen an. Wissentlich sammeln wir solche Daten nicht und geben sie auch nicht an Dritte weiter.&lt;br /&gt;
&lt;br /&gt;
Links zu Webseiten anderer Anbieter&lt;br /&gt;
Unser Online-Angebot enthält Links zu Webseiten anderer Anbieter. Wir haben keinen Einfluss darauf, dass diese Anbieter die Datenschutzbestimmungen einhalten.&lt;br /&gt;
Behördliche Datenschutzbeauftragte&lt;br /&gt;
Frau Elisabeth Duhr&lt;br /&gt;
Bundesministerium der Justiz und für Verbraucherschutz &lt;br /&gt;
Mohrenstr. 37&lt;br /&gt;
10117 Berlin&lt;br /&gt;
&lt;br /&gt;
Telefon: +49 (0) 30 18 580 - 0&lt;br /&gt;
E-Mail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Datenschutz.org ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATENSCHUTZERKLÄRUNG&lt;br /&gt;
&lt;br /&gt;
GELTUNGSBEREICH&lt;br /&gt;
&lt;br /&gt;
Diese Datenschutzerklärung soll die Nutzer dieser Website gemäß Bundesdatenschutzgesetz und Telemediengesetz über die Art, den Umfang und den Zweck der Erhebung und Verwendung personenbezogener Daten durch den Websitebetreiber [Ihre Kontaktdaten einfügen] informieren.&lt;br /&gt;
Der Websitebetreiber nimmt Ihren Datenschutz sehr ernst und behandelt Ihre personenbezogenen Daten vertraulich und entsprechend der gesetzlichen Vorschriften.&lt;br /&gt;
Bedenken Sie, dass die Datenübertragung im Internet grundsätzlich mit Sicherheitslücken bedacht sein kann. Ein vollumfänglicher Schutz vor dem Zugriff durch Fremde ist nicht realisierbar.&lt;br /&gt;
&lt;br /&gt;
ZUGRIFFSDATEN&lt;br /&gt;
&lt;br /&gt;
Der Websitebetreiber bzw. Seitenprovider erhebt Daten über Zugriffe auf die Seite und speichert diese als „Server-Logfiles“ ab. Folgende Daten werden so protokolliert:&lt;br /&gt;
Besuchte Website&lt;br /&gt;
Uhrzeit zum Zeitpunkt des Zugriffes&lt;br /&gt;
Menge der gesendeten Daten in Byte&lt;br /&gt;
Quelle/Verweis, von welchem Sie auf die Seite gelangten&lt;br /&gt;
Verwendeter Browser&lt;br /&gt;
Verwendetes Betriebssystem&lt;br /&gt;
Verwendete IP-Adresse&lt;br /&gt;
Die erhobenen Daten dienen lediglich statistischen Auswertungen und zur Verbesserung der Website. Der Websitebetreiber behält sich allerdings vor, die Server-Logfiles nachträglich zu überprüfen, sollten konkrete Anhaltspunkte auf eine rechtswidrige Nutzung hinweisen.&lt;br /&gt;
&lt;br /&gt;
COOKIES&lt;br /&gt;
Diese Website verwendet Cookies. Dabei handelt es sich um kleine Textdateien, welche auf Ihrem Endgerät gespeichert werden. Ihr Browser greift auf diese Dateien zu. Durch den Einsatz von Cookies erhöht sich die Benutzerfreundlichkeit und Sicherheit dieser Website.&lt;br /&gt;
Gängige Browser bieten die Einstellungsoption, Cookies nicht zuzulassen. Hinweis: Es ist nicht gewährleistet, dass Sie auf alle Funktionen dieser Website ohne Einschränkungen zugreifen können, wenn Sie entsprechende Einstellungen vornehmen.&lt;br /&gt;
&lt;br /&gt;
UMGANG MIT PERSONENBEZOGENEN DATEN&lt;br /&gt;
&lt;br /&gt;
Der Websitebetreiber erhebt, nutzt und gibt Ihre personenbezogenen Daten nur dann weiter, wenn dies im gesetzlichen Rahmen erlaubt ist oder Sie in die Datenerhebung einwilligen.&lt;br /&gt;
Als personenbezogene Daten gelten sämtliche Informationen, welche dazu dienen, Ihre Person zu bestimmen und welche zu Ihnen zurückverfolgt werden können – also beispielsweise Ihr Name, Ihre E-Mail-Adresse und Telefonnummer.&lt;br /&gt;
&lt;br /&gt;
UMGANG MIT KONTAKTDATEN&lt;br /&gt;
&lt;br /&gt;
Nehmen Sie mit dem Websitebetreiber durch die angebotenen Kontaktmöglichkeiten Verbindung auf, werden Ihre Angaben gespeichert, damit auf diese zur Bearbeitung und Beantwortung Ihrer Anfrage zurückgegriffen werden kann. Ohne Ihre Einwilligung werden diese Daten nicht an Dritte weitergegeben.&lt;br /&gt;
&lt;br /&gt;
UMGANG MIT KOMMENTAREN UND BEITRÄGEN&lt;br /&gt;
&lt;br /&gt;
Hinterlassen Sie auf dieser Website einen Beitrag oder Kommentar, wird Ihre IP-Adresse gespeichert. Dies dient der Sicherheit des Websitebetreibers: Verstößt Ihr Text gegen das Recht, möchte er Ihre Identität nachverfolgen können.&lt;br /&gt;
&lt;br /&gt;
ABONNEMENTS&lt;br /&gt;
&lt;br /&gt;
Sie haben die Möglichkeit, sowohl die gesamte Website als auch Nachfolgekommentare auf Ihren Beitrag zu abonnieren. Sie erhalten eine E-Mail zur Bestätigung Ihrer E-Mail-Adresse. Neben dieser werden keine weiteren Daten erhoben. Die gespeicherten Daten werden nicht an Dritte weitergereicht. Sie können ein Abonnement jederzeit abbestellen.&lt;br /&gt;
&lt;br /&gt;
GOOGLE ANALYTICS&lt;br /&gt;
Diese Website nutzt den Dienst „Google Analytics“, welcher von der Google Inc. (1600 Amphitheatre Parkway Mountain View, CA 94043, USA) angeboten wird, zur Analyse der Websitebenutzung durch Nutzer. Der Dienst verwendet „Cookies“ – Textdateien, welche auf Ihrem Endgerät gespeichert werden. Die durch die Cookies gesammelten Informationen werden im Regelfall an einen Google-Server in den USA gesandt und dort gespeichert.&lt;br /&gt;
Auf dieser Website greift die IP-Anonymisierung. Die IP-Adresse der Nutzer wird innerhalb der Mitgliedsstaaten der EU und des Europäischen Wirtschaftsraum gekürzt. Durch diese Kürzung entfällt der Personenbezug Ihrer IP-Adresse. Im Rahmen der Vereinbarung zur Auftragsdatenvereinbarung, welche die Websitebetreiber mit der Google Inc. geschlossen haben, erstellt diese mithilfe der gesammelten Informationen eine Auswertung der Websitenutzung und der Websiteaktivität und erbringt mit der Internetnutzung verbundene Dienstleistungen.&lt;br /&gt;
Sie haben die Möglichkeit, die Speicherung des Cookies auf Ihrem Gerät zu verhindern, indem Sie in Ihrem Browser entsprechende Einstellungen vornehmen. Es ist nicht gewährleistet, dass Sie auf alle Funktionen dieser Website ohne Einschränkungen zugreifen können, wenn Ihr Browser keine Cookies zulässt.&lt;br /&gt;
Weiterhin können Sie durch ein Browser-Plugin verhindern, dass die durch Cookies gesammelten Informationen (inklusive Ihrer IP-Adresse) an die Google Inc. gesendet und von der Google Inc. genutzt werden. Folgender Link führt Sie zu dem entsprechenden Plugin: https://tools.google.com/dlpage/gaoptout?hl=de Alternativ verhindern Sie mit einem Klick auf diesen Link (WICHTIG! Opt-Out-Link einfügen), dass Google Analytics innerhalb dieser Website Daten über Sie erfasst. Mit dem Klick auf obigen Link laden Sie ein „Opt-Out-Cookie“ herunter. Ihr Browser muss die Speicherung von Cookies also hierzu grundsätzlich erlauben. Löschen Sie Ihre Cookies regelmäßig, ist ein erneuter Klick auf den Link bei jedem Besuch dieser Website vonnöten.&lt;br /&gt;
Hier finden Sie weitere Informationen zur Datennutzung durch die Google Inc.: https://support.google.com/analytics/answer/6004245?hl=de&lt;br /&gt;
&lt;br /&gt;
NUTZUNG VON SOCIAL MEDIA PLUGINS&lt;br /&gt;
&lt;br /&gt;
FACEBOOK&lt;br /&gt;
Diese Website verwendet Facebook Social Plugins, welches von der Facebook Inc. (1 Hacker Way, Menlo Park, California 94025, USA) betrieben wird. Erkennbar sind die Einbindungen an dem Facebook-Logo bzw. an den Begriffen „Like“, „Gefällt mir“, „Teilen“ in den Farben Facebooks (Blau und Weiß). Informationen zu allen Facebook-Plugins finden Sie im folgenden Link: https://developers.facebook.com/docs/plugins/&lt;br /&gt;
Das Plugin stellt eine direkte Verbindung zwischen Ihrem Browser und den Facebook-Servern her. Der Websitebetreiber hat keinerlei Einfluss auf die Natur und den Umfang der Daten, welche das Plugin an die Server der Facebook Inc. übermittelt. Informationen dazu finden Sie hier: https://www.facebook.com/help/186325668085084 Das Plugin informiert die Facebook Inc. darüber, dass Sie Nutzer diese Website besucht hat. Es besteht hierbei die Möglichkeit, dass Ihre IP-Adresse gespeichert wird. Sind Sie während des Besuchs auf dieser Website in Ihrem Facebook-Konto eingeloggt, werden die genannten Informationen mit diesem verknüpft.&lt;br /&gt;
Nutzen Sie die Funktionen des Plugins – etwa indem Sie einen Beitrag teilen oder „liken“ – werden die entsprechenden Informationen ebenfalls an die Facebook Inc. übermittelt.&lt;br /&gt;
Möchten Sie verhindern, dass die Facebook. Inc. diese Daten mit Ihrem Facebook-Konto verknüpft, loggen Sie sich bitte vor dem Besuch dieser Website bei Facebook aus.&lt;br /&gt;
&lt;br /&gt;
GOOGLE+&lt;br /&gt;
Weiterhin nutzt diese Website die „+1“-Schaltfläche von Google Plus. Betrieben wird diese von der Google Inc. (1600 Amphitheatre Parkway Mountain View, CA 94043, USA). Besuchen Sie eine Seite, welche die „+1“-Schaltfläche enthält, entsteht eine direkte Verbindung zwischen Ihrem Browser und den Google-Servern. Der Websitebetreiber hat daher keinerlei Einfluss auf die Natur und den Umfang der Daten, welche das Plugin an die Server der Google Inc. übermitteln. Klicken Sie auf den „+1“-Button, während Sie in Google + angemeldet sind, teilen Sie die Inhalte der Seite auf Ihrem öffentlichen Profil.&lt;br /&gt;
Personenbezogene Daten werden laut der Google Inc. erst dann erhoben, wenn Sie auf die Schaltfläche klicken. Auch bei eingeloggten Google-Nutzern wird unter anderem die IP-Adresse gespeichert. Möchten Sie verhindern, dass die Google Inc. diese Daten speichert und mit Ihrem Konto verknüpft, loggen Sie sich bitte vor dem Besuch dieser Website aus.&lt;br /&gt;
Informationen zur „+1“-Schaltfläche finden Sie hier: https://developers.google.com/+/web/buttons-policy.&lt;br /&gt;
Weiterhin nutzt diese Website Twitter-Schlatflächen. Betrieben werden diese von der Twitter Inc. (795 Folsom St., Suite 600, San Francisco, CA 94107, USA). Besuchen Sie eine Seite, welche eine solche Schaltfläche enthält, entsteht eine direkte Verbindung zwischen Ihrem Browser und den Twitter-Servern. Der Websitebetreiber hat daher keinerlei Einfluss über die Natur und den Umfang der Daten, welche das Plugin an die Server Twitter Inc. übermittelt.&lt;br /&gt;
Gemäß der Twitter Inc. wird dabei allein Ihre IP-Adresse erhoben und gespeichert. Informationen zu dem Umgang mit personenbezogenen Daten durch die Twitter Inc. finden Sie hier: https://twitter.com/privacy?lang=de&lt;br /&gt;
&lt;br /&gt;
NEWSLETTER ABONNEMENT&lt;br /&gt;
&lt;br /&gt;
Der Websitebetreiber bietet Ihnen einen Newsletter an, in welchem er Sie über aktuelle Geschehnisse und Angebote informiert. Möchten Sie den Newsletter abonnieren, müssen Sie eine valide E-Mail-Adresse angeben.&lt;br /&gt;
Rechte des Nutzers: Auskunft, Berichtigung und Löschung&lt;br /&gt;
Sie als Nutzer erhalten auf Antrag Ihrerseits kostenlose Auskunft darüber, welche personenbezogenen Daten über Sie gespeichert wurden. Sofern Ihr Wunsch nicht mit einer gesetzlichen Pflicht zur Aufbewahrung von Daten (z. B. Vorratsdatenspeicherung) kollidiert, haben Sie ein Anrecht auf Berichtigung falscher Daten und auf die Sperrung oder Löschung Ihrer personenbezogenen Daten.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Standard Beispiel ohne Plugins etc. ===&lt;br /&gt;
Datenschutz&lt;br /&gt;
&lt;br /&gt;
Wir freuen uns über Ihren Besuch auf unserer Webseite sowie über Ihr Interesse an unserem Unternehmen.&lt;br /&gt;
&lt;br /&gt;
Wir verstehen Datenschutz als kundenorientiertes Qualitätsmerkmal. Der Schutz Ihrer persönlichen Daten und die Wahrung Ihres Persönlichkeitsrechts sind uns wichtig.&lt;br /&gt;
&lt;br /&gt;
Mit dieser Datenschutzerklärung möchten wir alle Besucher unserer Webseite transparent über Art, Umfang und Zweck der von uns erhobenen, genutzten und verarbeiteten personenbezogenen Daten informieren und Sie über die Ihnen zustehenden Rechte aufklären.&lt;br /&gt;
&lt;br /&gt;
Eine Nutzung unserer Webseite ist grundsätzlich ohne die Angabe von personenbezogener Daten möglich. Sollten Sie jedoch über unsere Webseite Dienste unseres Unternehmens in Anspruch nehmen, kann die Verarbeitung Ihrer personenbezogenen Daten erforderlich werden.&lt;br /&gt;
&lt;br /&gt;
Die beim Besuch unserer Webseiten automatisch erhobenen Daten oder aber bei der Inanspruchnahme von Diensten von Ihnen eingetragenen personenbezogenen Daten, werden gemäß den jeweils aktuellen gesetzlichen Bestimmungen zum Schutz personenbezogener Daten verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Ist eine Verarbeitung Ihrer personenbezogenen Daten erforderlich und besteht für eine solche Verarbeitung keine gesetzliche Grundlage, holen wir grundsätzlich eine Einwilligung für den erforderlichen Zweck der Verarbeitung ein.&lt;br /&gt;
Als für die Verarbeitung verantwortliches Unternehmen, haben wir technische und organisatorische Maßnahmen festgelegt, um ein möglichst hohes Schutzniveau Ihrer personenbezogenen Daten sicherzustellen. Wir weisen jedoch darauf hin, dass eine Datenübertragung über das World Wide Web grundsätzlich Sicherheitslücken aufweisen kann.&lt;br /&gt;
&lt;br /&gt;
Möchten Sie Dienste unseres Unternehmens in Anspruch nehmen und hierfür nicht den Weg der Datenübermittlung über das World Wide Web nutzen wollen, beseht auch die Möglichkeit der telefonischen Kontaktaufnahme.&lt;br /&gt;
&lt;br /&gt;
NAME UND ANSCHRIFT DES VERANTWORTLICHEN&lt;br /&gt;
&lt;br /&gt;
Der Verantwortliche im Sinne der Datenschutz-Grundverordnung und anderer nationaler Datenschutzgesetze der Mitgliedsstaaten sowie sonstiger datenschutzrechtlicher Bestimmungen ist:&lt;br /&gt;
&lt;br /&gt;
ADRESSE&lt;br /&gt;
&lt;br /&gt;
Sie können diese Website in der Regel ohne Angabe personenbezogener Daten nutzen. Soweit wir personenbezogene Daten erfassen (z.B. wenn Sie mit uns in Kontakt treten möchten), erfolgt dies stets gemäß den gesetzlichen Datenschutzvorschriften, sowie dieser Datenschutzerklärung. Ohne ausdrückliche Zustimmung werden Ihre Daten niemals an Dritte weitergegeben.&lt;br /&gt;
&lt;br /&gt;
VERSCHLÜSSELTE DATENÜBERTRAGUNG&lt;br /&gt;
&lt;br /&gt;
Auf allen Seiten unseres Internetangebots, auf denen Sie persönliche Daten eingeben - so z. B. in unserem Kontaktformular, werden Ihre Daten direkt bei der Übertragung verschlüsselt. Alle datenschutzrelevanten Informationen (wie Name und Adresse) werden geschützt gespeichert.&lt;br /&gt;
&lt;br /&gt;
Wir möchten Sie darauf hinweisen, dass die Datenübertragung im Internet (z .B. wenn Sie uns eine E-Mail schreiben) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist generell nicht möglich.&lt;br /&gt;
&lt;br /&gt;
UMFANG DER VERARBEITUNG PERSONENBEZOGENER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir verarbeiten personenbezogene Daten unserer Nutzer grundsätzlich nur, soweit dies für die Funktion der Website und die Bereitstellung der Inhalte und angebotenen Leistungen erforderlich ist. Die Verarbeitung personenbezogener Daten unserer Nutzer erfolgt regelmäßig nur nach Einwilligung des Nutzers. Ausnahmen gelten, wenn eine vorherige Einholung einer Einwilligung aus tatsächlichen Gründen nicht möglich ist und die Verarbeitung der Daten durch gesetzliche Vorschriften gestattet ist.&lt;br /&gt;
&lt;br /&gt;
DATENLÖSCHUNG UND SPEICHERDAUER&lt;br /&gt;
&lt;br /&gt;
Die personenbezogenen Daten der betroffenen Person werden gelöscht oder gesperrt, sobald der Zweck der Speicherung entfällt. Eine Speicherung kann darüber hinaus erfolgen, wenn dies durch den europäischen oder nationalen Gesetzgeber in unionsrechtlichen Verordnungen, Gesetzen oder sonstigen Vorschriften, denen der Verantwortliche unterliegt, vorgesehen wurde. Eine Sperrung oder Löschung der Daten erfolgt auch dann, wenn eine durch die genannten Normen vorgeschriebene Speicherfrist abläuft, es sei denn, dass eine Erforderlichkeit zur weiteren Speicherung der Daten für einen Vertragsabschluss oder eine Vertragserfüllung besteht.&lt;br /&gt;
&lt;br /&gt;
BEREITSTELLUNG DER WEBSITE UND ERSTELLUNG VON LOGFILES&lt;br /&gt;
&lt;br /&gt;
Bei jedem Aufruf unserer Internetseite erfasst unser System automatisiert Daten und Informationen vom Computersystem des aufrufenden Rechners. Folgende Daten werden hierbei erhoben:&lt;br /&gt;
&lt;br /&gt;
Informationen über den Browsertyp und die verwendete Version&lt;br /&gt;
Das Betriebssystem des Nutzers&lt;br /&gt;
Den Internet-Service-Provider des Nutzers&lt;br /&gt;
Die IP-Adresse des Nutzers&lt;br /&gt;
Datum und Uhrzeit des Zugriffs&lt;br /&gt;
Websites, von denen das System des Nutzers auf unsere Internetseite gelangt&lt;br /&gt;
Websites, die vom System des Nutzers über unsere Website aufgerufen werden&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. IP-Adressen werden im Logfile teilanonymisiert gespeichert, ihnen fehlt dadurch das Merkmal der Personenbezogenheit. Es werden keine Daten gespeichert, die eine Zuordnung der Daten zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die vorübergehende Speicherung der Daten ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Die vorübergehende Speicherung der IP-Adresse durch das System ist notwendig, um eine Auslieferung der Website an den Rechner des Nutzers zu ermöglichen. Hierfür muss die IP-Adresse des Nutzers für die Dauer der Sitzung gespeichert bleiben.&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Im Falle der Erfassung der Daten zur Bereitstellung der Website ist dies der Fall, wenn die jeweilige Sitzung beendet ist. Widerspruchs- und Beseitigungsmöglichkeit Die Erfassung der Daten zur Bereitstellung der Website und die Speicherung der Daten in Logfiles ist für den Betrieb der Internetseite zwingend erforderlich. Es besteht folglich seitens des Nutzers keine Widerspruchsmöglichkeit.&lt;br /&gt;
&lt;br /&gt;
ERSTELLUNG DER ZUGRIFFSSTATISTIK&lt;br /&gt;
&lt;br /&gt;
Diese Website verwendet Webalizer. Bei diesem Produkt handelt es sich um einen Web-Analyse-Dienst, der Daten über das Verhalten von Besuchern von Webseiten erhebt, sammelt und auswertet. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Webseite eine betroffene Person auf eine Webseite gekommen ist (wenn die Person zuvor einen Link geklickt hat), auf welche Unterseiten der Webseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde.&lt;br /&gt;
&lt;br /&gt;
Der Zweck der Verwendung ist die Auswertung der Nutzung von Webseiten zur Verbesserung des Angebots und der Bedienung. Durch die Auswertung kann in Erfahrung gebracht werden, wie die jeweilige Website genutzt wird und so das Angebot der Webseite stetig optimiert werden. Die auf diese Weise zu Analysezwecken erhoben Daten der Nutzer werden durch technische Vorkehrungen anonymisiert. Daher ist eine Zuordnung der Daten zum aufrufenden Nutzer nicht mehr möglich.&lt;br /&gt;
&lt;br /&gt;
Die Daten werden nicht gemeinsam mit sonstigen personenbezogenen Daten der Nutzer gespeichert. In diesen Zwecken liegt auch das berechtigte Interesse des Webseitenbetreibers in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1 Buchstabe f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Der Dienst speichert die verarbeiteten Daten für 190 Tage.&lt;br /&gt;
&lt;br /&gt;
Der Dienst nutzt keine Cookies, sondern verarbeiten ausschließlich die Daten des Logfiles (siehe Erstellung von Logfiles). IP-Adressen werden im Logfile teilanonymisiert gespeichert, ihnen fehlt darum das Merkmal der Personenbezogenheit.&lt;br /&gt;
&lt;br /&gt;
VERWENDUNG VON COOKIES&lt;br /&gt;
&lt;br /&gt;
Unsere Webseite verwendet Cookies. Bei Cookies handelt es sich um Textdateien, die im Internetbrowser bzw. vom Internetbrowser auf dem Computersystem des Nutzers gespeichert werden. Dieser Cookie enthält eine charakteristische Zeichenfolge. Dadurch können wir den Browser beim erneuten Aufrufen der Website wiedererkennen. Durch den Einsatz von Cookies können wir unsere Website nutzerfreundlicher gestalten. Einige Elemente unserer Internetseite erfordern es, dass der aufrufende Browser auch nach einem Seitenwechsel identifiziert werden kann.&lt;br /&gt;
&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Die durch technisch notwendige Cookies erhobenen Nutzerdaten werden nicht zur Erstellung von Nutzerprofilen verwendet. &lt;br /&gt;
&lt;br /&gt;
KONTAKTFORMULAR UND E-MAIL KONTAKT&lt;br /&gt;
&lt;br /&gt;
Auf unserer Website können Sie Kontaktformulare zur elektronische Kontaktaufnahme nutzen.&lt;br /&gt;
&lt;br /&gt;
Nehmen Sie diese Möglichkeit wahr, so werden die von Ihnen in der Eingabemaske eingegeben Daten an uns übermittelt und gespeichert. Im Zeitpunkt der Absendung der Nachricht werden zudem folgende Daten gespeichert:&lt;br /&gt;
&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Absendevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse möglich.&lt;br /&gt;
&lt;br /&gt;
In diesem Fall werden die mit der E-Mail übermittelten personenbezogenen Daten des Nutzers gespeichert. Die Daten werden ausschließlich für die Verarbeitung der Konversation verwendet.&lt;br /&gt;
&lt;br /&gt;
Es erfolgt in diesem Zusammenhang keine Weitergabe der Daten an Dritte.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten, die im Zuge einer Übersendung einer E-Mail übermittelt werden, ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Zielt der E-Mail-Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
&lt;br /&gt;
Die Verarbeitung der personenbezogenen Daten aus der Eingabemaske dient uns allein zur Bearbeitung der Kontaktaufnahme. Im Falle einer Kontaktaufnahme per E-Mail liegt hieran auch das erforderliche berechtigte Interesse an der Verarbeitung der Daten. Die sonstigen während des Absendevorgangs verarbeiteten personenbezogenen Daten dienen dazu, einen Missbrauch des Kontaktformulars zu verhindern und die Sicherheit unserer informationstechnischen Systeme sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Für die personenbezogenen Daten aus der Eingabemaske des Kontaktformulars und diejenigen, die per E-Mail übersandt wurden, ist dies dann der Fall, wenn die jeweilige Konversation mit dem Nutzer beendet ist.&lt;br /&gt;
&lt;br /&gt;
Beendet ist die Konversation dann, wenn sich aus den Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist.&lt;br /&gt;
&lt;br /&gt;
AUSKUNFT, BERICHTIGUNG UND LÖSCHUNG&lt;br /&gt;
&lt;br /&gt;
Sie als Nutzer erhalten auf Antrag Ihrerseits kostenlose Auskunft darüber, welche personenbezogenen Daten über Sie gespeichert wurden. Sofern Ihr Wunsch nicht mit einer gesetzlichen Pflicht zur Aufbewahrung von Daten (z. B. Vorratsdatenspeicherung) kollidiert, haben Sie ein Anrecht auf Berichtigung falscher Daten und auf die Sperrung oder Löschung Ihrer personenbezogenen Daten.&lt;br /&gt;
&lt;br /&gt;
== Assistent Entwurf ==&lt;br /&gt;
https://www.ldi.nrw.de/mainmenu_Datenschutz/submenu_Datenschutzbeauftragte/Inhalt/Betriebliche_Datenschutzbeauftragte/Inhalt/Check/Check.php&lt;br /&gt;
&lt;br /&gt;
=== Check ===&lt;br /&gt;
&lt;br /&gt;
== Zusatzinfos ==&lt;br /&gt;
=== Was sind personenbezogene Daten ? ===&lt;br /&gt;
&lt;br /&gt;
== Anschreiben Textblöcke ==&lt;br /&gt;
=== Haftungsausschluss ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hinweis zu Datenschutz und Impressumsrelevanten Texten&lt;br /&gt;
Stephan Schlegel Geo-bit Reutlingen kann und darf keine Rechtsberatung geben.&lt;br /&gt;
Wir sind keine Anwaltskanzlei, sondern eine Webagentur. Deshalb dürfen wir keine Rechtsberatung leisten. &lt;br /&gt;
Gerne versorgen wir Sie mit Informationen, z.B. im Zusammenhang mit der Datenschutz-Grundverordnung oder der Impressumspflicht, die für Sie als Website-Betreiber relevant sind. Auf Ihren Wunsch erstellen wir gerne auch Inhalte für den Datenschutz-Hinweis oder das Impressum, die nach unserem Kenntnisstand und unserer Erfahrung erforderlich und ausreichend sind. Sie sind jedoch letztendlich allein für den Inhalt ihrer Website verantwortlich. Für rechtssichere Aussagen und konforme Texte sollten Sie sich daher an legitimierte Anbieter für Rechtsberatung wenden.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mustertexte einfache Sprache ==&lt;br /&gt;
TODO&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte&amp;diff=23314</id>
		<title>Datenschutz - Mustertexte</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Datenschutz_-_Mustertexte&amp;diff=23314"/>
		<updated>2018-09-17T19:24:10Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Google Maps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Todos ==&lt;br /&gt;
Text f. Bewerbung&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Schön wäre ein Datenschutzhinweis der kurz und Verständlich formuliert ist und eine ausführliche Datenschutzerklärung&lt;br /&gt;
&lt;br /&gt;
== Checkliste - Einzelvorgänge ==&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
==== Verantwortlicher ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NAME UND ANSCHRIFT DES VERANTWORTLICHEN&lt;br /&gt;
Der Verantwortliche im Sinne der Datenschutz-Grundverordnung und anderer nationaler Datenschutzgesetze der Mitgliedsstaaten sowie sonstiger datenschutzrechtlicher Bestimmungen ist:&lt;br /&gt;
&lt;br /&gt;
Musterfirma&lt;br /&gt;
Musterstraße 1&lt;br /&gt;
12345 Musterstadt&lt;br /&gt;
Deutschland&lt;br /&gt;
Tel.: Telefonnummer&lt;br /&gt;
E-Mail: muster@e-mail.de&lt;br /&gt;
Website: www.musterwebsite.de&lt;br /&gt;
&lt;br /&gt;
DATENSCHUTZBEAUFTRAGTER&lt;br /&gt;
&lt;br /&gt;
Der Datenschutzbeauftragte des Verantwortlichen ist:&lt;br /&gt;
&lt;br /&gt;
Max Mustermann &lt;br /&gt;
Musterunternehmen (wenn extern)&lt;br /&gt;
Musterstraße 1&lt;br /&gt;
12345 Musterstadt&lt;br /&gt;
Deutschland&lt;br /&gt;
Tel.: Telefonnummer&lt;br /&gt;
E-Mail: max.mustermann@e-mail.de&lt;br /&gt;
Website: www.musterwebsite.de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sie können diese Website in der Regel ohne Angabe personenbezogener Daten nutzen. Soweit wir personenbezogene Daten erfassen (z.B. wenn Sie mit uns in Kontakt treten möchten), erfolgt dies stets gemäß den gesetzlichen Datenschutzvorschriften, sowie dieser Datenschutzerklärung. Ohne ausdrückliche Zustimmung werden Ihre Daten niemals an Dritte weitergegeben.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Verschlüsselte Datenübertragung ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
VERSCHLÜSSELTE DATENÜBERTRAGUNG&lt;br /&gt;
&lt;br /&gt;
Auf allen Seiten unseres Internetangebots, auf denen Sie persönliche Daten eingeben - so z. B. in unserem Kontaktformular, werden Ihre Daten direkt bei der Übertragung verschlüsselt. Alle datenschutzrelevanten Informationen (wie Name und Adresse) werden geschützt gespeichert.&lt;br /&gt;
Wir möchten Sie darauf hinweisen, dass die Datenübertragung im Internet (z .B. wenn Sie uns eine E-Mail schreiben) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist generell nicht möglich.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Umfang der Verarbeitung ====&lt;br /&gt;
Quelle Uni Münster (überarbeitet)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
UMFANG DER VERARBEITUNG PERSONENBEZOGENER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir verarbeiten personenbezogene Daten unserer Nutzer grundsätzlich nur, soweit dies für die Funktion der Website und die Bereitstellung der Inhalte und angebotenen Leistungen erforderlich ist. Die Verarbeitung personenbezogener Daten unserer Nutzer erfolgt regelmäßig nur nach Einwilligung des Nutzers. Ausnahmen gelten, wenn eine vorherige Einholung einer Einwilligung aus tatsächlichen Gründen nicht möglich ist und die Verarbeitung der Daten durch gesetzliche Vorschriften gestattet ist. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Rechtsgrundlage der Verarbeitung====&lt;br /&gt;
Quelle Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RECHTSGRUNDLAGE FÜR DIE VERARBEITUNG PERSONENBEZOGENER DATEN&lt;br /&gt;
&lt;br /&gt;
Soweit wir für Verarbeitungsvorgänge personenbezogener Daten eine Einwilligung der betroffenen Person einholen, dient Art. 6 Abs. 1 lit. a EU-Datenschutzgrundverordnung (DS-GVO) als Rechtsgrundlage.&lt;br /&gt;
Bei der Verarbeitung von personenbezogenen Daten, die zur Erfüllung eines Vertrages, dessen Vertragspartei die betroffene Person ist, erforderlich ist, dient Art. 6 Abs. 1 lit. b DS-GVO als Rechtsgrundlage. Dies gilt auch für Verarbeitungsvorgänge, die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind.&lt;br /&gt;
Soweit eine Verarbeitung personenbezogener Daten zur Erfüllung einer rechtlichen Verpflichtung erforderlich ist, der unser Unternehmen unterliegt, dient Art. 6 Abs. 1 lit. c DS-GVO als Rechtsgrundlage.&lt;br /&gt;
Für den Fall, dass lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person eine Verarbeitung personenbezogener Daten erforderlich machen, dient Art. 6 Abs. 1 lit. d DS-GVO als Rechtsgrundlage.&lt;br /&gt;
Ist die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich und überwiegen die Interessen, Grundrechte und Grundfreiheiten des Betroffenen das erstgenannte Interesse nicht, so dient Art. 6 Abs. 1 lit. f DS-GVO als Rechtsgrundlage für die Verarbeitung. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Datenlöschung und Speicherdauer ====&lt;br /&gt;
Quelle Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATENLÖSCHUNG UND SPEICHERDAUER&lt;br /&gt;
&lt;br /&gt;
Die personenbezogenen Daten der betroffenen Person werden gelöscht oder gesperrt, sobald der Zweck der Speicherung entfällt. Eine Speicherung kann darüber hinaus erfolgen, wenn dies durch den europäischen oder nationalen Gesetzgeber in unionsrechtlichen Verordnungen, Gesetzen oder sonstigen Vorschriften, denen der Verantwortliche unterliegt, vorgesehen wurde. Eine Sperrung oder Löschung der Daten erfolgt auch dann, wenn eine durch die genannten Normen vorgeschriebene Speicherfrist abläuft, es sei denn, dass eine Erforderlichkeit zur weiteren Speicherung der Daten für einen Vertragsabschluss oder eine Vertragserfüllung besteht.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bereitstellung der Website und Erstellung von Logfiles ===&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
BEREITSTELLUNG DER WEBSITE UND ERSTELLUNG VON LOGFILES&lt;br /&gt;
&lt;br /&gt;
Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
Bei jedem Aufruf unserer Internetseite erfasst unser System automatisiert Daten und Informationen vom Computersystem des aufrufenden Rechners. &lt;br /&gt;
Folgende Daten werden hierbei erhoben:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dieser Teil ist entsprechend anzupassen. Nicht zutreffende Daten sind zu entfernen, fehlende zu ergänzen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Informationen über den Browsertyp und die verwendete Version&lt;br /&gt;
Das Betriebssystem des Nutzers&lt;br /&gt;
Den Internet-Service-Provider des Nutzers&lt;br /&gt;
Die IP-Adresse des Nutzers&lt;br /&gt;
Datum und Uhrzeit des Zugriffs&lt;br /&gt;
Websites, von denen das System des Nutzers auf unsere Internetseite gelangt &lt;br /&gt;
Websites, die vom System des Nutzers über unsere Website aufgerufen werden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Option 1: &amp;#039;&amp;#039;&amp;#039;Die Logfiles enthalten IP-Adressen&amp;#039;&amp;#039;&amp;#039; oder sonstige Daten, &amp;#039;&amp;#039;&amp;#039;die eine Zuordnung zu einem Nutzer ermöglichen&amp;#039;&amp;#039;&amp;#039;. Dies könnte beispielsweise der Fall sein, wenn der Link zur Website, von der der Nutzer auf die Internetseite gelangt, oder der Link zur Website, zu der der Nutzer wechselt, personenbezogene Daten enthält.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Option 2: Die &amp;#039;&amp;#039;&amp;#039;Logfiles enthalten keine IP-Adressen oder sonstigen Daten, die eine Zuordnung zu einem Nutzer ermöglichen&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. Nicht hiervon betroffen sind die IP-Adressen des Nutzers oder andere Daten, die die Zuordnung der Daten zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Option 3: anonymisierte Logfiles&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. IP-Adressen werden im Logfile  teilanonymisiert gespeichert, ihnen fehlt dadurch das Merkmal der Personenbezogenheit. Es werden keine Daten gespeichert, die eine Zuordnung der Daten zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&lt;br /&gt;
 Rechtsgrundlage für die vorübergehende Speicherung der Daten und der Logfiles ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Falls keine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&lt;br /&gt;
 Rechtsgrundlage für die vorübergehende Speicherung der Daten ist Art. 6 Abs. 1 lit. f DSGVO. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die vorübergehende Speicherung der IP-Adresse durch das System ist notwendig, um eine Auslieferung der Website an den Rechner des Nutzers zu ermöglichen. Hierfür muss die IP-Adresse des Nutzers für die Dauer der Sitzung gespeichert bleiben. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Speicherung in Logfiles erfolgt, um die Funktionsfähigkeit der Website sicherzustellen. Zudem dienen uns die Daten zur Optimierung der Website und zur Sicherstellung der Sicherheit unserer informationstechnischen Systeme. Eine Auswertung der Daten zu Marketingzwecken findet in diesem Zusammenhang nicht statt. &lt;br /&gt;
&lt;br /&gt;
In diesen Zwecken liegt auch unser berechtigtes Interesse an der Datenverarbeitung nach Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dauer der Speicherung&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Im Falle der Erfassung der Daten zur Bereitstellung der Website ist dies der Fall, wenn die jeweilige Sitzung beendet ist. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Speicherung von IP-Adressen in Logfiles erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Im Falle der Speicherung der Daten in Logfiles ist dies nach spätestens sieben Tagen der Fall. Eine darüberhinausgehende Speicherung ist möglich. In diesem Fall werden die IP-Adressen der Nutzer gelöscht oder verfremdet, sodass eine Zuordnung des aufrufenden Clients nicht mehr möglich ist.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Die Erfassung der Daten zur Bereitstellung der Website und die Speicherung der Daten in Logfiles ist für den Betrieb der Internetseite zwingend erforderlich. Es besteht folglich seitens des Nutzers keine Widerspruchsmöglichkeit. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Erstellung von Zugriffsstatistik (Webalizer) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ERSTELLUNG DER ZUGRIFFSSTATISTIK&lt;br /&gt;
&lt;br /&gt;
Diese Website verwendet Webalizer.&lt;br /&gt;
Bei diesem Produkt handelt es sich um einen Web-Analyse-Dienst, der Daten über das Verhalten von Besuchern von Webseiten erhebt, sammelt und auswertet. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Webseite eine betroffene Person auf eine Webseite gekommen ist (wenn die Person zuvor einen Link geklickt hat), auf welche Unterseiten der Webseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde.&lt;br /&gt;
&lt;br /&gt;
Der Zweck der Verwendung ist die Auswertung der Nutzung von Webseiten zur Verbesserung des Angebots und der Bedienung. Durch die Auswertung kann in Erfahrung gebracht werden, wie die jeweilige Website genutzt wird und so das Angebot der Webseite stetig optimiert werden.&lt;br /&gt;
&lt;br /&gt;
Die auf diese Weise zu Analysezwecken erhoben Daten der Nutzer werden durch technische Vorkehrungen anonymisiert. Daher ist eine Zuordnung der Daten zum aufrufenden Nutzer nicht mehr möglich. Die Daten werden nicht gemeinsam mit sonstigen personenbezogenen Daten der Nutzer gespeichert.&lt;br /&gt;
&lt;br /&gt;
In diesen Zwecken liegt auch das berechtigte Interesse des Webseitenbetreibers in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1 Buchstabe f DSGVO. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Zeitlich unbegrenzt (bis zum manuellen Entfernen)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Dienst speichert die von ihnen verarbeiteten Daten ohne zeitliche Begrenzung. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder (Default Einstellung all-inkl)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Dienst speichert die verarbeiteten Daten für 190 Tage.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Dients nutzt keine Cookies, sondern verarbeiten ausschließlich die Daten des Logfiles (siehe Erstellung von Logfiles). IP-Adressen werden im Logfile  teilanonymisiert gespeichert, ihnen fehlt darum das Merkmal der Personenbezogenheit.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cookies ===&lt;br /&gt;
https://accentikainternet.co.uk/article-details/article/make-your-typo3-website-cookie-compliant-with-eu-law.html (netter englischer text)&lt;br /&gt;
&lt;br /&gt;
==== Cookies Text ====&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
VERWENDUNG VON COOKIES&lt;br /&gt;
&lt;br /&gt;
Unsere Webseite verwendet Cookies. Bei Cookies handelt es sich um Textdateien, die im Internetbrowser bzw. vom Internetbrowser auf dem Computersystem des Nutzers gespeichert werden. Dieser Cookie enthält eine charakteristische Zeichenfolge. Dadurch können wir den Browser beim erneuten Aufrufen der Website wiedererkennen.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine Verwendung technisch notwendiger Cookies erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Durch den Einsatz von Cookies können wir unsere Website nutzerfreundlicher gestalten. Einige Elemente unserer Internetseite erfordern es, dass der aufrufende Browser auch nach einem Seitenwechsel identifiziert werden kann. &lt;br /&gt;
Für folgende Zwecke nutzen wir Cookies:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es folgt eine Auflistung der gespeicherten Daten. Beispiele können sein:&lt;br /&gt;
* Merken von Spracheinstellungen&lt;br /&gt;
* Speichern von Artikel im Warenkorb&lt;br /&gt;
* Verwalten Log-In-Informationen&lt;br /&gt;
* Speichern von Benutzereinstellungen&lt;br /&gt;
* Verbesserung der Sicherheit&lt;br /&gt;
&lt;br /&gt;
Falls zudem eine Verwendung technisch nicht notwendiger Cookies erfolgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Wir verwenden auf unserer Website darüber hinaus Cookies, die eine Analyse des Surfverhaltens der Nutzer ermöglichen. &lt;br /&gt;
Auf diese Weise können folgende Daten übermittelt werden:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es folgt eine Auflistung der erhobenen Daten. Diese können beispielsweise sein:&lt;br /&gt;
* (1) Eingegebene Suchbegriffe&lt;br /&gt;
* (2) Häufigkeit von Seitenaufrufen&lt;br /&gt;
* (3) Inanspruchnahme von Website-Funktionen&lt;br /&gt;
&lt;br /&gt;
Bislang war es nach § 15 Abs. 3 TMG möglich, für technisch nicht notwendige Cookies eine Pseudonymisierung der verarbeiteten personenbezogenen Daten vorzunehmen und den Nutzer über die Verwendung der Cookies und sein Widerspruchs- und Beseitigungsrecht zu informieren („Opt-Out-Lösung“). Es ist jedoch in der juristischen Literatur umstritten, ob diese Norm auch nach Geltung der DSGVO weiter Anwendung findet. Im Zweifel muss daher davon ausgegangen werden, dass nunmehr allein die Vorschriften der DSGVO gelten. In diesem Fall ist allein auf Art. 6 Abs. 1 DSGVO abzustellen. Auch nach dieser Norm ist eine Fortführung der bisherigen Praxis denkbar, wenn auf ein „berechtigtes Interesse“ des Verarbeitenden nach Art. 6 Abs. 1 lit. f DSGVO abgestellt wird. Falls also vor dem Setzen und Abrufen der technisch nicht notwendigen Cookies keine Einwilligung des Nutzers eingeholt wird:&lt;br /&gt;
Die auf diese Weise erhobenen Daten der Nutzer werden durch technische Vorkehrungen pseudonymisiert. Daher ist eine Zuordnung der Daten zum aufrufenden Nutzer nicht mehr möglich. Die Daten werden nicht gemeinsam mit sonstigen personenbezogenen Daten der Nutzer gespeichert.&lt;br /&gt;
Beim Aufruf unserer Website werden die Nutzer durch einen Infobanner über die Verwendung von Cookies zu Analysezwecken informiert und auf diese Datenschutzerklärung verwiesen. Es erfolgt in diesem Zusammenhang auch ein Hinweis darauf, wie die Speicherung von Cookies in den Browsereinstellungen unterbunden werden kann.&lt;br /&gt;
Ob die bisherige Praxis der „Opt-Out-Lösung“ den Anforderungen des Art. 6 Abs. 1 lit. f DGVO gerecht wird, kann derzeit nicht mit Sicherheit gesagt werden. Klarheit könnte diesbezüglich die geplante E-Privacy-Verordnung bringen. Bis dahin besteht die rechtssicherste Lösung allerdings darin, eine vorherige Einwilligung des Nutzers einzuholen („Opt-In-Lösung“). &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Falls also vor dem Setzen und Abrufen der technisch nicht notwendigen Cookies eine Einwilligung des Nutzers eingeholt wird:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Beim Aufruf unserer Website wird der Nutzer über die Verwendung von Cookies zu Analysezwecken informiert und seine Einwilligung zur Verarbeitung der in diesem Zusammenhang verwendeten personenbezogenen Daten eingeholt. In diesem Zusammenhang erfolgt auch ein Hinweis auf diese Datenschutzerklärung. &lt;br /&gt;
b) Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls nur eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger Cookies&amp;#039;&amp;#039;&amp;#039; erfolgt &amp;#039;&amp;#039;&amp;#039;oder&amp;#039;&amp;#039;&amp;#039; eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger Cookies und technisch nicht notwendiger Cookies ohne vorherige Einholung einer Einwilligung des Nutzers&amp;#039;&amp;#039;&amp;#039; erfolgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger und nicht notwendiger Cookies mit vorheriger Einholung einer Einwilligung&amp;#039;&amp;#039;&amp;#039; des Nutzers erfolgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung technisch notweniger Cookies ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies zu Analysezwecken ist bei Vorliegen einer diesbezüglichen Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
c) Zweck der Datenverarbeitung&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Falls eine &amp;#039;&amp;#039;&amp;#039;Verwendung technisch notwendiger Cookies&amp;#039;&amp;#039;&amp;#039; erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Der Zweck der Verwendung technisch notwendiger Cookies ist, die Nutzung von Websites für die Nutzer zu vereinfachen. Einige Funktionen unserer Internetseite können ohne den Einsatz von Cookies nicht angeboten werden. Für diese ist es erforderlich, dass der Browser auch nach einem Seitenwechsel wiedererkannt wird.&lt;br /&gt;
Für folgende Anwendungen benötigen wir Cookies:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es folgt eine Auflistung der Anwendungen. Beispiele können sein:&lt;br /&gt;
* (1) Warenkorb&lt;br /&gt;
* (2) Übernahme von Spracheinstellungen&lt;br /&gt;
* (3) Merken von Suchbegriffen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die durch technisch notwendige Cookies erhobenen Nutzerdaten werden nicht zur Erstellung von Nutzerprofilen verwendet.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Falls kein Tracking und keine Drittanbieter Cookies &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Todo...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Falls zudem eine Verwendung technisch nicht notwendiger Cookies&amp;#039;&amp;#039;&amp;#039; erfolgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Die Verwendung der Analyse-Cookies erfolgt zu dem Zweck, die Qualität unserer Website und ihre Inhalte zu verbessern. Durch die Analyse-Cookies erfahren wir, wie die Website genutzt wird und können so unser Angebot stetig optimieren.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Der genaue Einsatzzweck der Analysecookies sollte an dieser Stelle genauer beschrieben werden. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
In diesen Zwecken liegt auch unser berechtigtes Interesse in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1 lit. f DSGVO. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
e) Dauer der Speicherung, Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Cookies werden auf dem Rechner des Nutzers gespeichert und von diesem an unserer Seite übermittelt. Daher haben Sie als Nutzer auch die volle Kontrolle über die Verwendung von Cookies. Durch eine Änderung der Einstellungen in Ihrem Internetbrowser können Sie die Übertragung von Cookies deaktivieren oder einschränken. Bereits gespeicherte Cookies können jederzeit gelöscht werden. Dies kann auch automatisiert erfolgen. Werden Cookies für unsere Website deaktiviert, können möglicherweise nicht mehr alle Funktionen der Website vollumfänglich genutzt werden.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Wordpress Cookies====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Verwendetet Cookies im Detail:&lt;br /&gt;
Technisch notwendige Cookies:&lt;br /&gt;
wordpress_logged_in_[hash]&lt;br /&gt;
Wird gesetzt wenn sich ein Benutzer anmeldet. Management des An- und Abmeldeprozess&lt;br /&gt;
wp-settings-{time}-[UID]&lt;br /&gt;
Managment der Kommentarfunktion. Verhindert im wesentlichen, dass der Kommentator Eingaben doppelt machen muss.&lt;br /&gt;
comment_author_{HASH}&lt;br /&gt;
comment_author_email_{HASH}&lt;br /&gt;
comment_author_url_{HASH}&lt;br /&gt;
Wird gesetzt, wenn Benutzer die Kommentarfunktion nutzen. Dient dazu dem Kommentatoren doppelte Eingaben zu ersparen.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
WordPress Cookies&lt;br /&gt;
&lt;br /&gt;
After login, wordpress sets the wordpress_logged_in_[hash] cookie, which indicates when you’re logged in, and who you are, for most interface use.&lt;br /&gt;
&lt;br /&gt;
WordPress also sets a few wp-settings-{time}-[UID] cookies. The number on the end is your individual user ID from the users database table. This is used to customise your view of admin interface, and possibly also the main site interface.&lt;br /&gt;
&lt;br /&gt;
When visitors comment on your blog, they too get cookies stored on their computer. This is purely a convenience, so that the visitor won’t need to re-type all their information again when they want to leave another comment. Altogether three are set for commenters:&lt;br /&gt;
&lt;br /&gt;
comment_author_{HASH}&lt;br /&gt;
comment_author_email_{HASH}&lt;br /&gt;
comment_author_url_{HASH}&lt;br /&gt;
&lt;br /&gt;
===== ProcessWire =====&lt;br /&gt;
&lt;br /&gt;
wire - Sitzungscookie&lt;br /&gt;
&lt;br /&gt;
* Verbesserung der Sicherheit der Website&lt;br /&gt;
* Verbesserung der Bedienbarkeit der Website&lt;br /&gt;
&lt;br /&gt;
wires - Sitzungscookie&lt;br /&gt;
* wie wire, wird aber bei sicherer Verbindung eingesetzt&lt;br /&gt;
&lt;br /&gt;
wire_challenge - Persistenter Cookie&lt;br /&gt;
* Management des Login für User mit Benutzeraccount und Benutzereinstellungen&lt;br /&gt;
&lt;br /&gt;
WireTabs - Sitzungscookie&lt;br /&gt;
* Speichert Informationen zum aktuellen Bearbeitungsstatus eines angemeldeten Benutzers, während der Bearbeitung der Homepage.&lt;br /&gt;
&lt;br /&gt;
The only other cookie set by this website is called &amp;#039;wire’ and is required by ProcessWire (the underlying CMS) for the system to operate properly. If you wish to delete individual cookies from your computer but are unsure how to do it, have a look at www.allaboutcookies.org.&lt;br /&gt;
&lt;br /&gt;
==== Cookie Infos ====&lt;br /&gt;
https://rickert.net/blog/cookies-aktuelle-rechtslage/&lt;br /&gt;
&lt;br /&gt;
https://policies.google.com/technologies/cookies?hl=de&lt;br /&gt;
&lt;br /&gt;
Todo auf eigener Homepage&lt;br /&gt;
&lt;br /&gt;
===== Piwick =====&lt;br /&gt;
There are two cookies on this website that collect information from visitors to help me improve this website. They enable me to trace errors on this website and inform him about how this website is used. This information is anonymous and cannot be used to identify you personally. These cookies are set by the analytics software ‘Piwik’ and start with ‘_pk_id’ and ‘_pk_ses’. Piwik is self-hosted software. This means that all data collected stays with me. No analytics information is remitted to third parties (this is different from websites using certain other tools such as Google Analytics).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== TYPO3 =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Name: fe_typo_user&lt;br /&gt;
Art: session cookie&lt;br /&gt;
Nutzung: Login Managment für Frontend User, identifiziert den Nutzer, Verbesserung der Seitenbenutzung, Sicherheit&lt;br /&gt;
&lt;br /&gt;
Name: be_typo3_user&lt;br /&gt;
Art: session cookie&lt;br /&gt;
Nutzung: Login Managment für Backend User, identifiziert den Nutzer, Verbesserung der Seitenbenutzung, Sicherheit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
FE User Cookie Kann man per default ausschalten&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;quot;FE&amp;quot;][&amp;quot;dontSetCookie&amp;quot;] = 1;&lt;br /&gt;
&lt;br /&gt;
=== Newsletter ===&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
29. Newsletter&lt;br /&gt;
&lt;br /&gt;
1. Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Auf unserer Internetseite besteht die Möglichkeit einen kostenfreien Newsletter zu abonnieren. Dabei werden bei der Anmeldung zum Newsletter die Daten aus der Eingabemaske an uns übermittelt.&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle sollte eine konkrete Nennung der erhobenen Daten erfolgen. Im Minimalfall betrifft dies die E-Mail-Adresse des Nutzers. &lt;br /&gt;
&lt;br /&gt;
Zudem werden folgende Daten bei der Anmeldung erhoben:&lt;br /&gt;
&lt;br /&gt;
Es müssen die tatsächlich erhobenen weiteren Daten angegeben werden. Dies können beispielsweise sein:&lt;br /&gt;
(1) IP-Adresse des aufrufenden Rechners&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Anmeldevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund des Verkaufs von Waren oder Dienstleistungen:&lt;br /&gt;
&lt;br /&gt;
Wenn Sie auf unserer Internetseite Waren oder Dienstleistungen erwerben und hierbei Ihre E-Mail-Adresse hinterlegen, kann diese in der Folge durch uns für den Versand eines Newsletters verwendet werden. In einem solchen Fall wird über den Newsletter ausschließlich Direktwerbung für eigene ähnliche Waren oder Dienstleistungen versendet.&lt;br /&gt;
&lt;br /&gt;
Es erfolgt im Zusammenhang mit der Datenverarbeitung für den Versand von Newslettern keine Weitergabe der Daten an Dritte. Die Daten werden ausschließlich für den Versand des Newsletters verwendet.&lt;br /&gt;
&lt;br /&gt;
30. Rechtsgrundlage für die Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten nach Anmeldung zum Newsletters durch den Nutzer ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund des Verkaufs von Waren oder Dienstleistungen:&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für den Versand des Newsletters infolge des Verkaufs von Waren oder Dienstleistungen ist § 7 Abs. 3 UWG.&lt;br /&gt;
&lt;br /&gt;
31. Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die Erhebung der E-Mail-Adresse des Nutzers dient dazu, den Newsletter zuzustellen. &lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Die Erhebung sonstiger personenbezogener Daten im Rahmen des Anmeldevorgangs dient dazu, einen Missbrauch der Dienste oder der verwendeten E-Mail-Adresse zu verhindern.&lt;br /&gt;
&lt;br /&gt;
32. Dauer der Speicherung&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Die E-Mail-Adresse des Nutzers wird demnach solange gespeichert, wie das Abonnement des Newsletters aktiv ist. &lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Die sonstigen im Rahmen des Anmeldevorgangs erhobenen personenbezogenen Daten werden in der Regel nach einer Frist von sieben Tagen gelöscht.&lt;br /&gt;
&lt;br /&gt;
33. Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Das Abonnement des Newsletters kann durch den betroffenen Nutzer jederzeit gekündigt werden. Zu diesem Zweck findet sich in jedem Newsletter ein entsprechender Link. &lt;br /&gt;
&lt;br /&gt;
Der Newsletter-Versand erfolgt aufgrund der Anmeldung des Nutzers auf der Website:&lt;br /&gt;
&lt;br /&gt;
Hierdurch wird ebenfalls ein Widerruf der Einwilligung der Speicherung der während des Anmeldevorgangs erhobenen personenbezogenen Daten ermöglicht.&lt;br /&gt;
&lt;br /&gt;
34. Registrierung&lt;br /&gt;
&lt;br /&gt;
1. Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
Auf unserer Internetseite bieten wir Nutzern die Möglichkeit, sich unter Angabe personenbezogener Daten zu registrieren. Die Daten werden dabei in eine Eingabemaske eingegeben und an uns übermittelt und gespeichert. Eine Weitergabe der Daten an Dritte findet nicht statt. Folgende Daten werden im Rahmen des Registrierungsprozesses erhoben:&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle sollten die entsprechenden Daten aufgelistet werden.&lt;br /&gt;
&lt;br /&gt;
Im Zeitpunkt der Registrierung werden zudem folgende Daten gespeichert:&lt;br /&gt;
&lt;br /&gt;
An dieser Stelle sind die Daten entsprechend aufzulisten. Beispiele können sein:&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Im Rahmen des Registrierungsprozesses wird eine Einwilligung des Nutzers zur Verarbeitung dieser Daten eingeholt.&lt;br /&gt;
35. Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Wenn die Registrierung der Erfüllung eines Vertrages, dessen Vertragspartei die betroffene Person ist, oder der Durchführung vorvertraglicher Maßnahmen dient.&lt;br /&gt;
&lt;br /&gt;
Dient die Registrierung der Erfüllung eines Vertrages, dessen Vertragspartei der Nutzer ist oder der Durchführung vorvertraglicher Maßnahmen, so ist zusätzliche Rechtsgrundlage für die Verarbeitung der Daten Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
&lt;br /&gt;
36. Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient nicht zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Eine Registrierung des Nutzers ist für das Bereithalten bestimmter Inhalte und Leistungen auf unserer Website erforderlich.&lt;br /&gt;
&lt;br /&gt;
Es folgt eine nähere Beschreibung der Inhalte und Leistungen. Warum ist im Einzelfall eine Identifikation des Nutzers für die Bereithaltung erforderlich?&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Eine Registrierung des Nutzers ist zur Erfüllung eines Vertrages mit dem Nutzer oder zur Durchführung vorvertraglicher Maßnahmen erforderlich.&lt;br /&gt;
&lt;br /&gt;
Es folgt eine nähere Beschreibung des auf der Internetseite angebotenen Vertrages. Warum sind für diese Verträge die erhobenen Daten erforderlich?&lt;br /&gt;
&lt;br /&gt;
Sollte für die von Ihnen angebotenen Verträge eine Verarbeitung der personenbezogenen Daten des Vertragspartners bei Vertragsschluss gesetzlich vorgeschrieben sein, so sind die jeweiligen Normen, aus denen sich die Verpflichtung ergibt, zu nennen.&lt;br /&gt;
37. Dauer der Speicherung&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind.&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient nicht zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Dies ist für die während des Registrierungsvorgangs erhobenen Daten der Fall, wenn die Registrierung auf unserer Internetseite aufgehoben oder abgeändert wird. &lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Dies ist für die während des Registrierungsvorgangs zur Erfüllung eines Vertrags oder zur Durchführung vorvertraglicher Maßnahmen dann der Fall, wenn die Daten für die Durchführung des Vertrages nicht mehr erforderlich sind. Auch nach Abschluss des Vertrags kann eine Erforderlichkeit, personenbezogene Daten des Vertragspartners zu speichern, bestehen, um vertraglichen oder gesetzlichen Verpflichtungen nachzukommen.&lt;br /&gt;
&lt;br /&gt;
Dauerschuldverhältnisse erfordern die Speicherung der personenbezogenen Daten während der Vertragslaufzeit. Zudem müssen Gewährleistungsfristen beachtet werden und die Speicherung von Daten für steuerliche Zwecke. Welche Speicherfristen hierbei einzuhalten sind, lässt sich nicht pauschal festlegen, sondern muss für die jeweils geschlossenen Verträge und Vertragsparteien im Einzelfall ermittelt werden.&lt;br /&gt;
38. Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
Als Nutzer haben sie jederzeit die Möglichkeit, die Registrierung aufzulösen. Die über Sie gespeicherten Daten können Sie jederzeit abändern lassen. &lt;br /&gt;
&lt;br /&gt;
Es folgt eine nähere Beschreibung, wie eine Löschung des Accounts und eine Änderung von Daten möglich sind.&lt;br /&gt;
&lt;br /&gt;
Die Registrierung dient zum Abschluss eines Vertrages mit dem Nutzer:&lt;br /&gt;
&lt;br /&gt;
Sind die Daten zur Erfüllung eines Vertrages oder zur Durchführung vorvertraglicher Maßnahmen erforderlich, ist eine vorzeitige Löschung der Daten nur möglich, soweit nicht vertragliche oder gesetzliche Verpflichtungen einer Löschung entgegenstehen. &lt;br /&gt;
39. Kontaktformular und E-Mail-Kontakt&lt;br /&gt;
1. Beschreibung und Umfang der Datenverarbeitung&lt;br /&gt;
Auf unserer Internetseite ist ein Kontaktformular vorhanden, welches für die elektronische Kontaktaufnahme genutzt werden kann. Nimmt ein Nutzer diese Möglichkeit wahr, so werden die in der Eingabemaske eingegeben Daten an uns übermittelt und gespeichert. Diese Daten sind:&lt;br /&gt;
&lt;br /&gt;
Es folgt eine Auflistung der Daten der Eingabemaske&lt;br /&gt;
&lt;br /&gt;
Im Zeitpunkt der Absendung der Nachricht werden zudem folgende Daten gespeichert:&lt;br /&gt;
&lt;br /&gt;
Es folgt eine Auflistung der entsprechenden Daten. Beispiele können sein:&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Absendevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse möglich. In diesem Fall werden die mit der E-Mail übermittelten personenbezogenen Daten des Nutzers gespeichert. &lt;br /&gt;
&lt;br /&gt;
Es erfolgt in diesem Zusammenhang keine Weitergabe der Daten an Dritte. Die Daten werden ausschließlich für die Verarbeitung der Konversation verwendet.&lt;br /&gt;
&lt;br /&gt;
40. Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten, die im Zuge einer Übersendung einer E-Mail übermittelt werden, ist Art. 6 Abs. 1 lit. f DSGVO. Zielt der E-Mail-Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
&lt;br /&gt;
41. Zweck der Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Die Verarbeitung der personenbezogenen Daten aus der Eingabemaske dient uns allein zur Bearbeitung der Kontaktaufnahme. Im Falle einer Kontaktaufnahme per E-Mail liegt hieran auch das erforderliche berechtigte Interesse an der Verarbeitung der Daten.&lt;br /&gt;
Die sonstigen während des Absendevorgangs verarbeiteten personenbezogenen Daten dienen dazu, einen Missbrauch des Kontaktformulars zu verhindern und die Sicherheit unserer informationstechnischen Systeme sicherzustellen.&lt;br /&gt;
42. Dauer der Speicherung&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Für die personenbezogenen Daten aus der Eingabemaske des Kontaktformulars und diejenigen, die per E-Mail übersandt wurden, ist dies dann der Fall, wenn die jeweilige Konversation mit dem Nutzer beendet ist. Beendet ist die Konversation dann, wenn sich aus den Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist. &lt;br /&gt;
&lt;br /&gt;
Die während des Absendevorgangs zusätzlich erhobenen personenbezogenen Daten werden spätestens nach einer Frist von sieben Tagen gelöscht.&lt;br /&gt;
&lt;br /&gt;
43. Widerspruchs- und Beseitigungsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
Der Nutzer hat jederzeit die Möglichkeit, seine Einwilligung zur Verarbeitung der personenbezogenen Daten zu widerrufen. Nimmt der Nutzer per E-Mail Kontakt mit uns auf, so kann er der Speicherung seiner personenbezogenen Daten jederzeit widersprechen. In einem solchen Fall kann die Konversation nicht fortgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Es folgt eine Beschreibung, auf welche Weise der Widerruf der Einwilligung und der Widerspruch der Speicherung ermöglicht wird.&lt;br /&gt;
&lt;br /&gt;
Alle personenbezogenen Daten, die im Zuge der Kontaktaufnahme gespeichert wurden, werden in diesem Fall gelöscht.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kontaktformular ===&lt;br /&gt;
Direkt am Formular&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutz&lt;br /&gt;
&lt;br /&gt;
Mit meiner Kontaktaufnahme willige ich ein, dass meine Daten gespeichert und zur Bearbeitung meiner Anfrage/Kontaktaufnahme sowie für die Zusendung von Informationsmaterial genutzt werden. Eine Weiterleitung an Dritte ist ausgeschlossen. Diese Einwilligung kann jederzeit widerrufen werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Checkbox&amp;gt; Ich stimme zu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In der Datenschutzerklärung&lt;br /&gt;
&lt;br /&gt;
Quelle Uni Münster (stark angepasst)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KONTAKTFORMULAR UND E-MAIL KONTAKT&lt;br /&gt;
&lt;br /&gt;
Auf unserer Website können Sie Kontaktformulare zur elektronische Kontaktaufnahme nutzen. Nehmen Sie diese Möglichkeit wahr, so werden die von Ihnen in der Eingabemaske eingegeben Daten an uns übermittelt und gespeichert. &lt;br /&gt;
&lt;br /&gt;
Im Zeitpunkt der Absendung der Nachricht werden zudem folgende Daten gespeichert:&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Absendevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse möglich. In diesem Fall werden die mit der E-Mail übermittelten personenbezogenen Daten des Nutzers gespeichert. &lt;br /&gt;
Die Daten werden ausschließlich für die Verarbeitung der Konversation verwendet. Es erfolgt in diesem Zusammenhang keine Weitergabe der Daten an Dritte. &lt;br /&gt;
Rechtsgrundlage für die Datenverarbeitung &lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten, die im Zuge einer Übersendung einer E-Mail übermittelt werden, ist Art. 6 Abs. 1 lit. f DSGVO. Zielt der E-Mail-Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
Die Verarbeitung der personenbezogenen Daten aus der Eingabemaske dient uns allein zur Bearbeitung der Kontaktaufnahme. Im Falle einer Kontaktaufnahme per E-Mail liegt hieran auch das erforderliche berechtigte Interesse an der Verarbeitung der Daten.&lt;br /&gt;
Die sonstigen während des Absendevorgangs verarbeiteten personenbezogenen Daten dienen dazu, einen Missbrauch des Kontaktformulars zu verhindern und die Sicherheit unserer informationstechnischen Systeme sicherzustellen.&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Für die personenbezogenen Daten aus der Eingabemaske des Kontaktformulars und diejenigen, die per E-Mail übersandt wurden, ist dies dann der Fall, wenn die jeweilige Konversation mit dem Nutzer beendet ist. Beendet ist die Konversation dann, wenn sich aus den Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Google Analytics ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutzerklärung für die Nutzung von Google Analytics&lt;br /&gt;
&lt;br /&gt;
Diese Website nutzt Funktionen des  Webanalysedienstes Google Analytics. Anbieter ist die Google Inc. 1600 Amphitheatre Parkway Mountain View, CA 94043, USA. Google Analytics verwendet sog. „Cookies“. Das sind Textdateien, die auf Ihrem Computer gespeichert werden und die eine Analyse der Benutzung der Website durch Sie ermöglichen. Die durch den Cookie erzeugten Informationen über Ihre Benutzung dieser Website werden in der Regel an einen Server von Google in den USA übertragen und dort gespeichert.&lt;br /&gt;
&lt;br /&gt;
Im Falle der Aktivierung der IP-Anonymisierung auf dieser Webseite wird Ihre IP-Adresse von Google jedoch innerhalb von Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten des Abkommens über den Europäischen Wirtschaftsraum zuvor gekürzt. Nur in Ausnahmefällen wird die volle IP-Adresse an einen Server von Google in den USA übertragen und dort gekürzt. Im Auftrag des Betreibers dieser Website wird Google diese Informationen benutzen, um Ihre Nutzung der Website auszuwerten, um Reports über die Websiteaktivitäten zusammenzustellen und um weitere mit der Websitenutzung und der Internetnutzung verbundene Dienstleistungen gegenüber dem Websitebetreiber zu erbringen. Die im Rahmen von Google Analytics von Ihrem Browser übermittelte IP-Adresse wird nicht mit anderen Daten von Google zusammengeführt.&lt;br /&gt;
&lt;br /&gt;
Sie können die Speicherung der Cookies durch eine entsprechende Einstellung Ihrer Browser-Software verhindern; wir weisen Sie jedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche Funktionen dieser Website vollumfänglich werden nutzen können. Sie können darüber hinaus die Erfassung der durch das Cookie erzeugten und auf Ihre Nutzung der Website bezogenen Daten (inkl. Ihrer IP-Adresse) an Google sowie die Verarbeitung dieser Daten durch Google verhindern, indem sie das unter dem folgenden Link verfügbare Browser-Plugin herunterladen und installieren: http://tools.google.com/dlpage/gaoptout?hl=de&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Google Maps ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GOOGLE MAPS&lt;br /&gt;
&lt;br /&gt;
Diese Website verwendet die GoogleMaps API. Ein Produkt der Google Inc., zur Anzeige von interaktiven Landkarten. Bei der Nutzung von Google Maps werden von Google auch Daten über die Nutzung der Maps-Funktionen des Besuchers erhoben, verarbeitet und genutzt. Nähere Informationen über die Datenverarbeitung durch Google finden Sie in den Datenschutzhinweisen von Google (http://www.google.com/intl/de_de/help/terms_maps.html). Google stellt dort darüber hinaus Möglichkeiten zur Datenschutzeinstellung zur Verfügung, mit denen Sie Ihre Daten verwalten und schützen können.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenStreetMaps ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OpenStreetMap&lt;br /&gt;
&lt;br /&gt;
Wir binden die Landkarten des Dienstes &amp;quot;OpenStreetMap&amp;quot; ein (https://www.openstreetmap.org), die auf Grundlage der Open Data Commons Open Database Lizenz (ODbL) durch die OpenStreetMap Foundation (OSMF) angeboten werden. Datenschutzerklärung: https://wiki.openstreetmap.org/wiki/Privacy_Policy).&lt;br /&gt;
&lt;br /&gt;
Nach unserer Kenntnis werden die Daten der Nutzer durch OpenStreetMap ausschließlich zu Zwecken der Darstellung der Kartenfunktionen und Zwischenspeicherung der gewählten Einstellungen verwendet. Zu diesen Daten können insbesondere IP-Adressen und Standortdaten der Nutzer gehören, die jedoch nicht ohne deren Einwilligung (im Regelfall im Rahmen der Einstellungen ihrer Mobilgeräte vollzogen), erhoben werden. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fonts ===&lt;br /&gt;
==== Links ====&lt;br /&gt;
https://www.mittwald.de/blog/mittwald/howtos/dem-datenschutz-zuliebe-wie-ihr-google-fonts-lokal-in-eure-webseiten-einbindet&lt;br /&gt;
&lt;br /&gt;
==== Beispiel 1 - Allgemein ====&lt;br /&gt;
&lt;br /&gt;
Verwendung von Scriptbibliotheken (Google Webfonts)&lt;br /&gt;
&lt;br /&gt;
Um unsere Inhalte browserübergreifend korrekt und graﬁsch ansprechend darzustellen, verwenden wir auf dieser Website Scriptbibliotheken und Schriftbibliotheken wie z. B. Google Webfonts (https://www.google.com/webfonts). Google Webfonts werden zur Vermeidung mehrfachen Ladens in den Cache Ihres Browsers übertragen. Falls der Browser die Google Webfonts nicht unterstützt oder den Zugriﬀ unterbindet, werden Inhalte in einer Standardschrift angezeigt.&lt;br /&gt;
Der Aufruf von Scriptbibliotheken oder Schriftbibliotheken löst automatisch eine Verbindung zum Betreiber der Bibliothek aus. Dabei ist es theoretisch möglich – aktuell allerdings auch unklar ob und ggf. zu welchen Zwecken – dass Betreiber entsprechender Bibliotheken Daten erheben.&lt;br /&gt;
&lt;br /&gt;
Die Datenschutzrichtlinie des Bibliothekbetreibers Google ﬁnden Sie hier:&lt;br /&gt;
https://policies.google.com/privacy?hl=de&lt;br /&gt;
&lt;br /&gt;
==== Beispiel 2 ====&lt;br /&gt;
Google Fonts&lt;br /&gt;
&lt;br /&gt;
Zur Darstellung der Schrift auf dieser Website setzten wir externe Schriftarten von Google Fonts ein.&lt;br /&gt;
Dieser Dienst wird von der Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043 USA, nachfolgend „Google“ angeboten.&lt;br /&gt;
Google ist nach dem „EU-US Privacy Shield“ zertifiziert und garantiert dadurch die Einhaltung der Datenschutzvorgaben der EU bei der Verarbeitung der Daten in den USA.&lt;br /&gt;
 &lt;br /&gt;
https://www.privacyshield.gov/participant?id=a2zt000000001L5AAI&amp;amp;status=Active&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf dieser Website wird eine Verbindung zu  Google-Server in den USA aufgebaut, um die Schrift zu laden oder diese zu aktualisieren.&lt;br /&gt;
&lt;br /&gt;
Durch diese Verbindung kann Google erkennen, von welcher Website eine Anfrage gestellt wird und an welche IP-Adresse die Schrift übermittelt wird.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO. Das berechtigte Interesse des Anbieters besteht an der Optimierung und dem wirtschaftlichen Betrieb der Website.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen, insbesondere zu den Möglichkeiten der Unterbindung der Datennutzung, bietet Google unter den nachfolgenden Links an:&lt;br /&gt;
&lt;br /&gt;
https://policies.google.com/privacy&lt;br /&gt;
https://adssettings.google.com/authenticated.&lt;br /&gt;
&lt;br /&gt;
=== Ärzte ===&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    Impressum&lt;br /&gt;
    Datenschutz&lt;br /&gt;
&lt;br /&gt;
PATIENTENINFORMATION ZUM DATENSCHUTZ&lt;br /&gt;
&lt;br /&gt;
Sehr geehrte Patientin, sehr geehrter Patient,&lt;br /&gt;
der Schutz Ihrer personenbezogenen Daten ist uns wichtig. Nach der EU-Datenschutz-Grundverordnung (DSGVO) sind wir verpflichtet, Sie darüber zu informieren, zu welchem Zweck unsere Praxis Daten erhebt, speichert oder weiterleitet. Der Information können Sie auch entnehmen, welche Rechte Sie in puncto Datenschutz haben.&lt;br /&gt;
1. VERANTWORTLICHKEIT FÜR DIE DATENVERARBEITUNG&lt;br /&gt;
&lt;br /&gt;
Verantwortlich für die Datenverarbeitung ist:&lt;br /&gt;
Praxisname&lt;br /&gt;
Verhaltenstherapeutische Praxis Dr. rer. nat. Dipl. Psych. Anja Schwarz&lt;br /&gt;
Adresse&lt;br /&gt;
Böllatstraße 4, 72622 Neckarhausen / Nürtingen&lt;br /&gt;
Kontaktdaten&lt;br /&gt;
Tel: 07022 244352&lt;br /&gt;
Tax: 07022 244351&lt;br /&gt;
E-Mail: schwarz@schwarz-psychotherapie.de&lt;br /&gt;
Homepage: http//www.schwarz-psychotherapie.de&lt;br /&gt;
&lt;br /&gt;
2. ZWECK DER DATENVERARBEITUNG&lt;br /&gt;
&lt;br /&gt;
Die Datenverarbeitung erfolgt aufgrund gesetzlicher Vorgaben, um den Behandlungsvertrag zwischen Ihnen und Ihrem behandelnden Psychotgherapeuten und die damit verbundenen Pflichten zu erfüllen.&lt;br /&gt;
Hierzu verarbeiten wir Ihre personenbezogenen Daten, insbesondere Ihre Gesundheitsdaten. Dazu zählen Anamnesen, Diagnosen, Therapievorschläge und Befunde, die wir oder andere Ärzte erheben. Zu diesen Zwecken können uns auch andere Ärzte oder Psychotherapeuten, bei denen Sie in Behandlung sind, Daten zur Verfügung stellen (z.B. in Arztbriefen).&lt;br /&gt;
Die Erhebung von Gesundheitsdaten ist Voraussetzung für Ihre Behandlung. Werden die notwendigen Informationen nicht bereitgestellt, kann eine sorgfältige Behandlung nicht erfolgen.&lt;br /&gt;
&lt;br /&gt;
3. EMPFÄNGER IHRER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir übermitteln Ihre personenbezogenen Daten nur dann an Dritte, wenn dies gesetzlich erlaubt ist oder Sie eingewilligt haben.&lt;br /&gt;
Empfänger Ihrer personenbezogenen Daten können vor allem andere Ärzte / Psychotherapeuten, Kassenärztliche Vereinigungen, Krankenkassen, der Medizinische Dienst der Krankenversicherung, Ärztekammern und privatärztliche Verrechnungsstellen sein.&lt;br /&gt;
Die Übermittlung erfolgt überwiegend zum Zwecke der Abrechnung der bei Ihnen erbrachten Leistungen, zur Klärung von medizinischen und sich aus Ihrem Versicherungsverhältnis ergebenden Fragen. Im Einzelfall erfolgt die Übermittlung von Daten an weitere berechtigte Empfänger.&lt;br /&gt;
&lt;br /&gt;
4. SPEICHERUNG IHRER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir bewahren Ihre personenbezogenen Daten nur solange auf, wie dies für die Durchführung der Behandlung erforderlich ist.&lt;br /&gt;
Aufgrund rechtlicher Vorgaben sind wir dazu verpflichtet, diese Daten mindestens 10 Jahre nach Abschluss der Behandlung aufzubewahren. Nach anderen Vorschriften können sich längere Aufbewahrungsfristen ergeben, zum Beispiel 30 Jahre bei Röntgenaufzeichnungen laut Paragraf 28 Absatz 3 der Röntgenverordnung.&lt;br /&gt;
&lt;br /&gt;
== Rechte ==&lt;br /&gt;
Rechte der User&lt;br /&gt;
Quelle Datenschutz.org&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AUSKUNFT, BERICHTIGUNG UND LÖSCHUNG&lt;br /&gt;
&lt;br /&gt;
Sie als Nutzer erhalten auf Antrag Ihrerseits kostenlose Auskunft darüber, welche personenbezogenen Daten über Sie gespeichert wurden. Sofern Ihr Wunsch nicht mit einer gesetzlichen Pflicht zur Aufbewahrung von Daten (z. B. Vorratsdatenspeicherung) kollidiert, haben Sie ein Anrecht auf Berichtigung falscher Daten und auf die Sperrung oder Löschung Ihrer personenbezogenen Daten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Quelle: Uni Münster&lt;br /&gt;
Die folgende Auflistung umfasst alle Rechte der Betroffenen nach der DS-GVO. Rechte, die für die eigene Webseite keine Relevanz haben, müssen nicht genannt werden. Insoweit kann die Auflistung gekürzt werden.&lt;br /&gt;
Werden personenbezogene Daten von Ihnen verarbeitet, sind Sie Betroffener i.S.d. DS-GVO und es stehen Ihnen folgende Rechte gegenüber dem Verantwortlichen zu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AUSKUNFTSRECHT&lt;br /&gt;
&lt;br /&gt;
Sie können von dem Verantwortlichen eine Bestätigung darüber verlangen, ob personenbezogene Daten, die Sie betreffen, von uns verarbeitet werden. &lt;br /&gt;
Liegt eine solche Verarbeitung vor, können Sie von dem Verantwortlichen über folgende Informationen Auskunft verlangen:&lt;br /&gt;
(1) die Zwecke, zu denen die personenbezogenen Daten verarbeitet werden;&lt;br /&gt;
(2) die Kategorien von personenbezogenen Daten, welche verarbeitet werden;&lt;br /&gt;
(3) die Empfänger bzw. die Kategorien von Empfängern, gegenüber denen die Sie betreffenden personenbezogenen Daten offengelegt wurden oder noch offengelegt werden;&lt;br /&gt;
(4) die geplante Dauer der Speicherung der Sie betreffenden personenbezogenen Daten oder, falls konkrete Angaben hierzu nicht möglich sind, Kriterien für die Festlegung der Speicherdauer;&lt;br /&gt;
(5) das Bestehen eines Rechts auf Berichtigung oder Löschung der Sie betreffenden personenbezogenen Daten, eines Rechts auf Einschränkung der Verarbeitung durch den Verantwortlichen oder eines Widerspruchsrechts gegen diese Verarbeitung; &lt;br /&gt;
(6) das Bestehen eines Beschwerderechts bei einer Aufsichtsbehörde;&lt;br /&gt;
(7) alle verfügbaren Informationen über die Herkunft der Daten, wenn die personenbezogenen Daten nicht bei der betroffenen Person erhoben werden;&lt;br /&gt;
(8) das Bestehen einer automatisierten Entscheidungsfindung einschließlich Profiling gemäß Art. 22 Abs. 1 und 4 DSGVO und – zumindest in diesen Fällen – aussagekräftige Informationen über die involvierte Logik sowie die Tragweite und die angestrebten Auswirkungen einer derartigen Verarbeitung für die betroffene Person.&lt;br /&gt;
&lt;br /&gt;
Ihnen steht das Recht zu, Auskunft darüber zu verlangen, ob die Sie betreffenden personenbezogenen Daten in ein Drittland oder an eine internationale Organisation übermittelt werden. In diesem Zusammenhang können Sie verlangen, über die geeigneten Garantien gem. Art. 46 DSGVO im Zusammenhang mit der Übermittlung unterrichtet zu werden.&lt;br /&gt;
&lt;br /&gt;
Bei einer Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
Dieses Auskunftsrecht kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
RECHT AUF BERICHTIGUNG&lt;br /&gt;
&lt;br /&gt;
Sie haben ein Recht auf Berichtigung und/oder Vervollständigung gegenüber dem Verantwortlichen, sofern die verarbeiteten personenbezogenen Daten, die Sie betreffen, unrichtig oder unvollständig sind. Der Verantwortliche hat die Berichtigung unverzüglich vorzunehmen.&lt;br /&gt;
Bei Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
Ihr Recht auf Berichtigung kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RECHT AUF EINSCHRÄNKUNG DER VERARBEITUNG&lt;br /&gt;
&lt;br /&gt;
Unter den folgenden Voraussetzungen können Sie die Einschränkung der Verarbeitung der Sie betreffenden personenbezogenen Daten verlangen.&lt;br /&gt;
&lt;br /&gt;
(1) wenn Sie die Richtigkeit der Sie betreffenden personenbezogenen für eine Dauer bestreiten, die es dem Verantwortlichen ermöglicht, die Richtigkeit der personenbezogenen Daten zu überprüfen;&lt;br /&gt;
&lt;br /&gt;
(2) die Verarbeitung unrechtmäßig ist und Sie die Löschung der personenbezogenen Daten ablehnen und stattdessen die Einschränkung der Nutzung der personenbezogenen Daten verlangen;&lt;br /&gt;
&lt;br /&gt;
(3) der Verantwortliche die personenbezogenen Daten für die Zwecke der Verarbeitung nicht länger benötigt, Sie diese jedoch zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen benötigen, oder&lt;br /&gt;
&lt;br /&gt;
(4) wenn Sie Widerspruch gegen die Verarbeitung gemäß Art. 21 Abs. 1 DSGVO eingelegt haben und noch nicht feststeht, ob die berechtigten Gründe des Verantwortlichen gegenüber Ihren Gründen überwiegen.&lt;br /&gt;
&lt;br /&gt;
Wurde die Verarbeitung der Sie betreffenden personenbezogenen Daten eingeschränkt, dürfen diese Daten – von ihrer Speicherung abgesehen – nur mit Ihrer Einwilligung oder zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen oder zum Schutz der Rechte einer anderen natürlichen oder juristischen Person oder aus Gründen eines wichtigen öffentlichen Interesses der Union oder eines Mitgliedstaats verarbeitet werden.&lt;br /&gt;
Wurde die Einschränkung der Verarbeitung nach den o.g. Voraussetzungen eingeschränkt, werden Sie von dem Verantwortlichen unterrichtet bevor die Einschränkung aufgehoben wird.&lt;br /&gt;
&lt;br /&gt;
Bei Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
&lt;br /&gt;
Ihr Recht auf Einschränkung der Verarbeitung kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
RECHT AUF LÖSCHUNG&lt;br /&gt;
&lt;br /&gt;
a) Löschungspflicht&lt;br /&gt;
Sie können von dem Verantwortlichen verlangen, dass die Sie betreffenden personenbezogenen Daten unverzüglich gelöscht werden, und der Verantwortliche ist verpflichtet, diese Daten unverzüglich zu löschen, sofern einer der folgenden Gründe zutrifft:&lt;br /&gt;
&lt;br /&gt;
(1) Die Sie betreffenden personenbezogenen Daten sind für die Zwecke, für die sie erhoben oder auf sonstige Weise verarbeitet wurden, nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
(2) Sie widerrufen Ihre Einwilligung, auf die sich die Verarbeitung gem. Art. 6 Abs. 1 lit. a oder Art. 9 Abs. 2 lit. a DSGVO stützte, und es fehlt an einer anderweitigen Rechtsgrundlage für die Verarbeitung. &lt;br /&gt;
&lt;br /&gt;
(3) Sie legen gem. Art. 21 Abs. 1 DSGVO Widerspruch gegen die Verarbeitung ein und es liegen keine vorrangigen berechtigten Gründe für die Verarbeitung vor, oder Sie legen gem. Art. 21 Abs. 2 DSGVO Widerspruch gegen die Verarbeitung ein. &lt;br /&gt;
&lt;br /&gt;
(4) Die Sie betreffenden personenbezogenen Daten wurden unrechtmäßig verarbeitet. &lt;br /&gt;
&lt;br /&gt;
(5) Die Löschung der Sie betreffenden personenbezogenen Daten ist zur Erfüllung einer rechtlichen Verpflichtung nach dem Unionsrecht oder dem Recht der Mitgliedstaaten erforderlich, dem der Verantwortliche unterliegt. &lt;br /&gt;
&lt;br /&gt;
(6) Die Sie betreffenden personenbezogenen Daten wurden in Bezug auf angebotene Dienste der Informationsgesellschaft gemäß Art. 8 Abs. 1 DSGVO erhoben.&lt;br /&gt;
&lt;br /&gt;
INFORMATION AN DRITTE&lt;br /&gt;
&lt;br /&gt;
Hat der Verantwortliche die Sie betreffenden personenbezogenen Daten öffentlich gemacht und ist er gem. Art. 17 Abs. 1 DSGVO zu deren Löschung verpflichtet, so trifft er unter Berücksichtigung der verfügbaren Technologie und der Implementierungskosten angemessene Maßnahmen, auch technischer Art, um für die Datenverarbeitung Verantwortliche, die die personenbezogenen Daten verarbeiten, darüber zu informieren, dass Sie als betroffene Person von ihnen die Löschung aller Links zu diesen personenbezogenen Daten oder von Kopien oder Replikationen dieser personenbezogenen Daten verlangt haben. &lt;br /&gt;
&lt;br /&gt;
AUSNAHMEN&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Löschung besteht nicht, soweit die Verarbeitung erforderlich ist&lt;br /&gt;
&lt;br /&gt;
(1) zur Ausübung des Rechts auf freie Meinungsäußerung und Information;&lt;br /&gt;
&lt;br /&gt;
(2) zur Erfüllung einer rechtlichen Verpflichtung, die die Verarbeitung nach dem Recht der Union oder der Mitgliedstaaten, dem der Verantwortliche unterliegt, erfordert, oder zur Wahrnehmung einer Aufgabe, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, die dem Verantwortlichen übertragen wurde;&lt;br /&gt;
&lt;br /&gt;
(3) aus Gründen des öffentlichen Interesses im Bereich der öffentlichen Gesundheit gemäß Art. 9 Abs. 2 lit. h und i sowie Art. 9 Abs. 3 DSGVO;&lt;br /&gt;
&lt;br /&gt;
(4) für im öffentlichen Interesse liegende Archivzwecke, wissenschaftliche oder historische Forschungszwecke oder für statistische Zwecke gem. Art. 89 Abs. 1 DSGVO, soweit das unter Abschnitt a) genannte Recht voraussichtlich die Verwirklichung der Ziele dieser Verarbeitung unmöglich macht oder ernsthaft beeinträchtigt, oder&lt;br /&gt;
&lt;br /&gt;
(5) zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&lt;br /&gt;
&lt;br /&gt;
Recht auf Unterrichtung&lt;br /&gt;
&lt;br /&gt;
Haben Sie das Recht auf Berichtigung, Löschung oder Einschränkung der Verarbeitung gegenüber dem Verantwortlichen geltend gemacht, ist dieser verpflichtet, allen Empfängern, denen die Sie betreffenden personenbezogenen Daten offengelegt wurden, diese Berichtigung oder Löschung der Daten oder Einschränkung der Verarbeitung mitzuteilen, es sei denn, dies erweist sich als unmöglich oder ist mit einem unverhältnismäßigen Aufwand verbunden.&lt;br /&gt;
Ihnen steht gegenüber dem Verantwortlichen das Recht zu, über diese Empfänger unterrichtet zu werden.&lt;br /&gt;
&lt;br /&gt;
Recht auf Datenübertragbarkeit&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, die Sie betreffenden personenbezogenen Daten, die Sie dem Verantwortlichen bereitgestellt haben, in einem strukturierten, gängigen und maschinenlesbaren Format zu erhalten. Außerdem haben Sie das Recht diese Daten einem anderen Verantwortlichen ohne Behinderung durch den Verantwortlichen, dem die personenbezogenen Daten bereitgestellt wurden, zu übermitteln, sofern&lt;br /&gt;
&lt;br /&gt;
(1) die Verarbeitung auf einer Einwilligung gem. Art. 6 Abs. 1 lit. a DSGVO oder Art. 9 Abs. 2 lit. a DSGVO oder auf einem Vertrag gem. Art. 6 Abs. 1 lit. b DSGVO beruht und&lt;br /&gt;
&lt;br /&gt;
(2) die Verarbeitung mithilfe automatisierter Verfahren erfolgt.&lt;br /&gt;
&lt;br /&gt;
In Ausübung dieses Rechts haben Sie ferner das Recht, zu erwirken, dass die Sie betreffenden personenbezogenen Daten direkt von einem Verantwortlichen einem anderen Verantwortlichen übermittelt werden, soweit dies technisch machbar ist. Freiheiten und Rechte anderer Personen dürfen hierdurch nicht beeinträchtigt werden.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Datenübertragbarkeit gilt nicht für eine Verarbeitung personenbezogener Daten, die für die Wahrnehmung einer Aufgabe erforderlich ist, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, die dem Verantwortlichen übertragen wurde.&lt;br /&gt;
&lt;br /&gt;
WIDERSPRUCHSRECHT&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, jederzeit gegen die Verarbeitung der Sie betreffenden personenbezogenen Daten, die aufgrund von Art. 6 Abs. 1 lit. e oder f DSGVO erfolgt, Widerspruch einzulegen; dies gilt auch für ein auf diese Bestimmungen gestütztes Profiling. &lt;br /&gt;
Der Verantwortliche verarbeitet die Sie betreffenden personenbezogenen Daten nicht mehr, es sei denn, er kann zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die Ihre Interessen, Rechte und Freiheiten überwiegen, oder die Verarbeitung dient der Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.&lt;br /&gt;
&lt;br /&gt;
Werden die Sie betreffenden personenbezogenen Daten verarbeitet, um Direktwerbung zu betreiben, haben Sie das Recht, jederzeit Widerspruch gegen die Verarbeitung der Sie betreffenden personenbezogenen Daten zum Zwecke derartiger Werbung einzulegen; dies gilt auch für das Profiling, soweit es mit solcher Direktwerbung in Verbindung steht.&lt;br /&gt;
Widersprechen Sie der Verarbeitung für Zwecke der Direktwerbung, so werden die Sie betreffenden personenbezogenen Daten nicht mehr für diese Zwecke verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Sie haben die Möglichkeit, im Zusammenhang mit der Nutzung von Diensten der Informationsgesellschaft – ungeachtet der Richtlinie 2002/58/EG – Ihr Widerspruchsrecht mittels automatisierter Verfahren auszuüben, bei denen technische Spezifikationen verwendet werden.&lt;br /&gt;
Bei Datenverarbeitung zu wissenschaftlichen, historischen oder statistischen Forschungszwecken:&lt;br /&gt;
Sie haben auch das Recht, aus Gründen, die sich aus Ihrer besonderen Situation ergeben, bei der Verarbeitung Sie betreffender personenbezogener Daten, die zu wissenschaftlichen oder historischen Forschungszwecken oder zu statistischen Zwecken gem. Art. 89 Abs. 1 DSGVO erfolgt, dieser zu widersprechen.&lt;br /&gt;
Ihr Widerspruchsrecht kann insoweit beschränkt werden, als es voraussichtlich die Verwirklichung der Forschungs- oder Statistikzwecke unmöglich macht oder ernsthaft beeinträchtigt und die Beschränkung für die Erfüllung der Forschungs- oder Statistikzwecke notwendig ist.&lt;br /&gt;
&lt;br /&gt;
RECHT AUF WIDERRUF DER DATENSCHUTZRECHTLICHEN EINWILLIGUNGSERKLÄRUNG&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, Ihre datenschutzrechtliche Einwilligungserklärung jederzeit zu widerrufen. Durch den Widerruf der Einwilligung wird die Rechtmäßigkeit der aufgrund der Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt.&lt;br /&gt;
&lt;br /&gt;
Automatisierte Entscheidung im Einzelfall einschließlich Profiling&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, nicht einer ausschließlich auf einer automatisierten Verarbeitung – einschließlich Profiling – beruhenden Entscheidung unterworfen zu werden, die Ihnen gegenüber rechtliche Wirkung entfaltet oder Sie in ähnlicher Weise erheblich beeinträchtigt. Dies gilt nicht, wenn die Entscheidung &lt;br /&gt;
&lt;br /&gt;
(1)	für den Abschluss oder die Erfüllung eines Vertrags zwischen Ihnen und dem Verantwortlichen erforderlich ist,&lt;br /&gt;
&lt;br /&gt;
(2)	aufgrund von Rechtsvorschriften der Union oder der Mitgliedstaaten, denen der Verantwortliche unterliegt, zulässig ist und diese Rechtsvorschriften angemessene Maßnahmen zur Wahrung Ihrer Rechte und Freiheiten sowie Ihrer berechtigten Interessen enthalten oder&lt;br /&gt;
&lt;br /&gt;
(3)	mit Ihrer ausdrücklichen Einwilligung erfolgt.&lt;br /&gt;
&lt;br /&gt;
Allerdings dürfen diese Entscheidungen nicht auf besonderen Kategorien personenbezogener Daten nach Art. 9 Abs. 1 DSGVO beruhen, sofern nicht Art. 9 Abs. 2 lit. a oder g DSGVO gilt und angemessene Maßnahmen zum Schutz der Rechte und Freiheiten sowie Ihrer berechtigten Interessen getroffen wurden.&lt;br /&gt;
Hinsichtlich der in (1) und (3) genannten Fälle trifft der Verantwortliche angemessene Maßnahmen, um die Rechte und Freiheiten sowie Ihre berechtigten Interessen zu wahren, wozu mindestens das Recht auf Erwirkung des Eingreifens einer Person seitens des Verantwortlichen, auf Darlegung des eigenen Standpunkts und auf Anfechtung der Entscheidung gehört.&lt;br /&gt;
&lt;br /&gt;
Recht auf Beschwerde bei einer Aufsichtsbehörde&lt;br /&gt;
&lt;br /&gt;
Unbeschadet eines anderweitigen verwaltungsrechtlichen oder gerichtlichen Rechtsbehelfs steht Ihnen das Recht auf Beschwerde bei einer Aufsichtsbehörde, insbesondere in dem Mitgliedstaat ihres Aufenthaltsorts, ihres Arbeitsplatzes oder des Orts des mutmaßlichen Verstoßes, zu, wenn Sie der Ansicht sind, dass die Verarbeitung der Sie betreffenden personenbezogenen Daten gegen die DSGVO verstößt. &lt;br /&gt;
Die Aufsichtsbehörde, bei der die Beschwerde eingereicht wurde, unterrichtet den Beschwerdeführer über den Stand und die Ergebnisse der Beschwerde einschließlich der Möglichkeit eines gerichtlichen Rechtsbehelfs nach Art. 78 DSGVO.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kriterien zum Ergänzen der Datenschutzerklärung ==&lt;br /&gt;
Umfang, Rechtsgrundlage, Zweck, Dauer, Widerspruchsmöglichkeit&lt;br /&gt;
&lt;br /&gt;
== Komplette Beispiele ==&lt;br /&gt;
Im Zweifel müssen die Beispiele anhand der üblichen Kriterien ergänzt werden (siehe oben)&lt;br /&gt;
=== Beispiel MVZ-Bad Reichenhall ===&lt;br /&gt;
&lt;br /&gt;
Datenschutz&lt;br /&gt;
&lt;br /&gt;
Wir freuen uns über Ihren Besuch auf unserer Webseite sowie über Ihr Interesse an unserem Unternehmen. Wir verstehen Datenschutz als kundenorientiertes Qualitätsmerkmal. Der Schutz Ihrer persönlichen Daten und die Wahrung Ihres Persönlichkeitsrechts sind uns wichtig.&lt;br /&gt;
&lt;br /&gt;
Mit dieser Datenschutzerklärung möchten wir alle Besucher unserer Webseite transparent über Art, Umfang und Zweck der von uns erhobenen, genutzten und verarbeiteten personenbezogenen Daten informieren und Sie über die Ihnen zustehenden Rechte aufklären.&lt;br /&gt;
&lt;br /&gt;
Eine Nutzung unserer Webseite ist grundsätzlich ohne die Angabe von personenbezogener Daten möglich. Sollten Sie jedoch über unsere Webseite Dienste unseres Unternehmens in Anspruch nehmen, kann die Verarbeitung Ihrer personenbezogenen Daten erforderlich werden.&lt;br /&gt;
&lt;br /&gt;
Die beim Besuch unserer Webseiten automatisch erhobenen Daten oder aber bei der Inanspruchnahme von Diensten von Ihnen eingetragenen personenbezogenen Daten, werden gemäß den jeweils aktuellen gesetzlichen Bestimmungen zum Schutz personenbezogener Daten verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Ist eine Verarbeitung Ihrer personenbezogenen Daten erforderlich und besteht für eine solche Verarbeitung keine gesetzliche Grundlage, holen wir grundsätzlich eine Einwilligung für den erforderlichen Zweck der Verarbeitung ein.&lt;br /&gt;
&lt;br /&gt;
Als für die Verarbeitung verantwortliches Unternehmen, haben wir technische und organisatorische Maßnahmen festgelegt, um ein möglichst hohes Schutzniveau Ihrer personenbezogenen Daten sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
Wir weisen jedoch darauf hin, dass eine Datenübertragung über das World Wide Web grundsätzlich Sicherheitslücken aufweisen kann.&lt;br /&gt;
&lt;br /&gt;
Möchten Sie Dienste unseres Unternehmens in Anspruch nehmen und hierfür nicht den Weg der Datenübermittlung über das World Wide Web nutzen wollen, beseht auch die Möglichkeit der telefonischen Kontaktaufnahme.&lt;br /&gt;
&lt;br /&gt;
Kontaktdaten des für die Verarbeitung Verantwortlichen&lt;br /&gt;
&lt;br /&gt;
Verantwortlicher im Sinne der Datenschutz-Grundverordnung, ist:&lt;br /&gt;
&lt;br /&gt;
MVZ Bad Reichenhall&lt;br /&gt;
Salus Gesundheitszentrum GmbH u. Co KG&lt;br /&gt;
Rinckstr. 7-9&lt;br /&gt;
83435 Bad Reichenhall&lt;br /&gt;
info(@)salus-klinik.de&lt;br /&gt;
&lt;br /&gt;
Als Datenschutzbeauftragter ist bestellt:&lt;br /&gt;
&lt;br /&gt;
Herr Stephan Hartinger&lt;br /&gt;
Coseco GmbH&lt;br /&gt;
Telefon: 08232 80988-70&lt;br /&gt;
E-Mail: datenschutz@salus-klinik.de&lt;br /&gt;
&lt;br /&gt;
Erhebung von allgemeinen Zugriffsinformationen&lt;br /&gt;
&lt;br /&gt;
Bei jedem Aufruf unserer Webseite werden automatisch Server Log File Informationen, die Ihr Browser an uns übermittelt, erfasst. Dies sind:&lt;br /&gt;
&lt;br /&gt;
    IP-Adresse (Internet-Protokoll-Adresse) des zugreifenden Computers&lt;br /&gt;
    die Webseite, von der aus Sie uns besuchen (Referrer)&lt;br /&gt;
    die Webseite, die Sie bei uns besuchen&lt;br /&gt;
    das Datum und die Dauer des Besuches&lt;br /&gt;
    Browsertyp und Browser-Einstellungen&lt;br /&gt;
    Betriebssystem&lt;br /&gt;
&lt;br /&gt;
Wir weisen darauf hin, dass diese Daten nicht einer bestimmten Person zugeordnet werden können. Wir verwenden diese technischen Zugriffsinformationen ausschließlich für folgende Zwecke:&lt;br /&gt;
&lt;br /&gt;
    Um die Attraktivität und Bedienbarkeit unserer Webseiten zu verbessern,&lt;br /&gt;
    Um technische Probleme auf unserer Webseite frühzeitig zu erkennen.&lt;br /&gt;
    die Inhalte unserer Internetseite korrekt auszuliefern,&lt;br /&gt;
    und um Strafverfolgungsbehörden im Falle eines Cyberangriffes die zur Strafverfolgung notwendigen Informationen bereitzustellen.&lt;br /&gt;
&lt;br /&gt;
Diese Daten werden für als technische Vorkehrung maximal 7 Tage zum Schutz der Datenverarbeitungssysteme gegen unerlaubte Zugriffe gespeichert.&lt;br /&gt;
&lt;br /&gt;
Erhebung und Weitergabe von personenbezogenen Daten&lt;br /&gt;
&lt;br /&gt;
Wir verwenden Ihre persönlichen Daten nur zu den auf dieser Informationsseite zum Datenschutz angeführten Zwecken.&lt;br /&gt;
Auf unserer Webseite existieren folgende Eingabemasken für die Erhebung von personenbezogenen Daten:&lt;br /&gt;
&lt;br /&gt;
Formulare auf unserer Webseite&lt;br /&gt;
&lt;br /&gt;
Kontaktaufnahme per Mail oder Kontaktformular&lt;br /&gt;
Wir bieten Ihnen auf unserer Seite die Möglichkeit, mit uns per E-Mail und/oder über ein Kontaktformular in Verbindung zu treten.&lt;br /&gt;
Sofern Sie per E-Mail oder über ein Kontaktformular mit uns in Kontakt treten, werden die von Ihnen übermittelten personenbezogenen Daten automatisch gespeichert.&lt;br /&gt;
Solche, auf freiwilliger Basis von Ihnen an uns übermittelten personenbezogenen Daten, werden für Zwecke der Bearbeitung Ihrer Anfrage oder der Kontaktaufnahme zur betroffenen Person gespeichert. Es erfolgt keine Weitergabe dieser personenbezogenen Daten an Dritte.&lt;br /&gt;
&lt;br /&gt;
Wofür werden Cookies verwendet?&lt;br /&gt;
&lt;br /&gt;
Unsere Webseite benutzt an mehreren Stellen sogenannte Cookies. Ausführliche Informationen und welche Cookies zum Einsatz kommen, können Sie unserer Cookie Richtlinie (Link auf Cookie Richtlinie) entnehmen.&lt;br /&gt;
&lt;br /&gt;
Einsatz und Verwendung von Tracking-, Analyse-Tools&lt;br /&gt;
&lt;br /&gt;
Auf dieser Webseite kommen keine Tracking-, Analyse-Tools&lt;br /&gt;
&lt;br /&gt;
Löschung, Sperrung und Dauer der Speicherung von personenbezogenen Daten&lt;br /&gt;
&lt;br /&gt;
Wir verarbeiten und speichern Ihre personenbezogenen Daten nur für den Zeitraum, der zur Erreichung des jeweiligen Speicherungszwecks erforderlich ist oder wie es die vom Gesetzgeber vorgesehenen vielfältigen Aufbewahrungsfristen vorsehen.&lt;br /&gt;
Nach Fortfall eines Speicherungszweckes oder nach Ablauf der vom Gesetzgeber vorgesehenen Aufbewahrungsfrist, werden die personenbezogenen Daten routinemäßig und entsprechend den gesetzlichen Vorschriften für eine weitere Verarbeitung gesperrt oder gelöscht.&lt;br /&gt;
&lt;br /&gt;
Datenschutzrechte der betroffenen Person&lt;br /&gt;
&lt;br /&gt;
Wenn Sie Fragen zu Ihren personenbezogenen Daten haben, können Sie sich jederzeit schriftlich an uns wenden. Sie haben nach DS-GVO folgende Rechte:&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Auskunft (Unterpunkt Art. 15 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben jederzeit das Recht eine Auskunft darüber zu erhalten, welche Kategorien und Informationen zu Ihren personenbezogenen Daten von uns zu welchem Zweck verarbeitet und wie lange und nach welchen Kriterien diese Daten gespeichert werden und ob in diesem Zusammenhang eine automatisierte Entscheidungsfindung einschließlich Profiling angewendet wird. Außerdem haben Sie das Recht zu erfahren welche Empfänger bzw. Kategorien von Empfängern Ihre Daten offengelegt worden sind oder noch offengelegt werden; insbesondere bei Empfängern in Drittländer oder internationalen Organisationen. In diesem Fall haben Sie auch das Recht über geeignete Garantien im Zusammenhang mit der Übermittlung Ihrer personenbezogenen Daten unterrichtet zu werden.&lt;br /&gt;
&lt;br /&gt;
Neben dem Beschwerderecht bei der Aufsichtsbehörde und dem Informationsrecht über die Herkunft Ihrer Daten haben Sie das Recht auf Löschung, Berichtigung sowie das Recht auf Einschränkung für bzw. Widerspruchsrecht gegen eine Verarbeitung Ihrer personenbezogenen Daten.&lt;br /&gt;
&lt;br /&gt;
In allen oben genannten Fällen haben Sie das Recht vom Datenbearbeiter eine kostenfreie Kopie Ihrer personenbezogenen Daten, die von uns verarbeitet werden, zu verlangen. Für alle weiteren Kopien, die Sie beantragen oder die über das Informationsrecht der betroffenen Person hinausgehen, sind wir berechtigt eine angemessene Verwaltungsgebühr zu erheben.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Berichtigung (Art. 16 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, der unverzüglichen Berichtigung Ihrer unrichtigen personenbezogenen Daten zu verlangen und unter Berücksichtigung der Zwecke der Verarbeitung, die Vervollständigung unvollständiger personenbezogener Daten auch mittels einer ergänzenden Erklärung zu verlangen. Möchten Sie das Recht auf Berichtigung in Anspruch nehmen, können Sie sich jederzeit an unseren Datenschutzbeauftragten oder den für die Verarbeitung Verantwortlichen wenden.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Löschung (Art. 17 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, die unverzügliche Löschung Ihrer Daten zu verlangen („Recht auf Vergessenwerden“) insbesondere dann, wenn die Speicherung der Daten nicht mehr notwendig ist, Sie Ihre Einwilligung zur Datenverarbeitung widerrufen, Ihre Daten unrechtmäßig verarbeitet wurden oder unrechtmäßig erhoben wurden und eine Rechtspflicht zum Löschen nach EU- oder nationalem Recht besteht.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Vergessenwerden findet jedoch keine Anwendung, wenn ein überwiegendes Recht auf freie Meinungsäußerung bzw. der Informationsfreiheit besteht, die Datenspeicherung für die Erfüllung einer rechtlichen Verpflichtung (z. B. Aufbewahrungspflichten) erforderlich ist, Archivzwecke der Löschung entgegenstehen oder die Speicherung zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen dient.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Einschränkung (Art. 18 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht auf Einschränkung der Verarbeitung Ihrer Daten durch den für die Verarbeitung Verantwortlichen zu verlangen, wenn die Richtigkeit der Daten von Ihnen bestritten wird, die Verarbeitung unrechtmäßig ist, Sie die Löschung Ihrer personenbezogenen Daten ablehnen und stattdessen eine Einschränkung der Verarbeitung verlangen, wenn die Erforderlichkeit für den Verarbeitungszweck entfällt oder Sie der Verarbeitung gemäß Artikel 21 Absatz 1 widersprochen haben, solange noch nicht feststeht, ob berechtigte Gründe unsererseits gegenüber Ihren überwiegen.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Datenübertragbarkeit (Art. 20 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht auf Übertragbarkeit Ihrer personenbezogenen Daten, welche Sie unserem Unternehmen in Form eines gängigen Formates bereitgestellt haben, damit Sie ohne Behinderung Ihre personenbezogenen Daten an einen anderen Verantwortlichen weiterleiten lassen können, sofern bspw. Ihrerseits eine Einwilligung vorliegt und die Verarbeitung mittels eines automatisierten Verfahrens erfolgt.&lt;br /&gt;
&lt;br /&gt;
Das Recht auf Widerspruch (Art. 21 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Sie haben das Recht, jederzeit gegen die Erhebung, Verarbeitung oder Nutzung ihrer personenbezogenen Daten für Zwecke der Direktwerbung oder der Markt- und Meinungsforschung sowie der allgemeinen geschäftsmäßigen Datenverarbeitung zu widersprechen, es sei denn, wir können zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die Ihren Interessen, Rechten und Freiheiten überwiegen.&lt;br /&gt;
&lt;br /&gt;
Darüber hinaus können Sie Ihr Recht auf Widerspruch nicht wahrnehmen, wenn eine Rechtsvorschrift die Erhebung, Verarbeitung oder Nutzung der Daten vorsieht oder zur Erhebung, Verarbeitung oder Nutzung verpflichtet.&lt;br /&gt;
&lt;br /&gt;
Beschwerderecht bei der Datenschutzaufsichtsbehörde (Art. 77 DS-GVO i. V. m § 19 BDSG)&lt;br /&gt;
&lt;br /&gt;
Ihnen wird das Recht zuerkannt, sich bei der zuständigen Aufsichtsbehörde zu beschweren, wenn sie der Ansicht sind, dass ein Verstoß bei der Verarbeitung Ihrer personenbezogenen Daten vorliegt.&lt;br /&gt;
&lt;br /&gt;
Recht auf Widerruf einer datenschutzrechtlichen Einwilligung (Art. 7 Abs. 3 DS-GVO)&lt;br /&gt;
&lt;br /&gt;
Eine erteilte Einwilligung für die Verarbeitung Ihrer personenbezogenen Daten können Sie jederzeit und ohne Angaben von Gründen widerrufen. Dies gilt auch für den Widerruf von Einwilligungserklärungen, die vor Inkrafttreten der EU-Datenschutz-Grundverordnung, uns gegenüber erteilt worden ist.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage der Verarbeitung&lt;br /&gt;
&lt;br /&gt;
Bei der Verarbeitung von personenbezogenen Daten, für die wir eine Einwilligung der betroffenen Person einholen, dient Art. 6 Abs. 1, Satz 1 a) der Datenschutz-Grundverordnung (DSGVO) als Rechtsgrundlage.Bei der Verarbeitung von personenbezogenen Daten, die zur Erfüllung eines Vertrages erforderlich sind, dessen Vertragspartei die betroffene Person ist, dient Art. 6 Ab. 1, Satz 1 b) (DSGVO) als Rechtsgrundlage. Diese Regelung umfasst auch Verarbeitungsvorgänge, die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind.&lt;br /&gt;
&lt;br /&gt;
Soweit eine Verarbeitung personenbezogener Daten zur Erfüllung einer rechtlichen Verpflichtung erforderlich ist, denen unser Unternehmen unterliegt, dient Art. 6 Abs. 1, Satz 1 c) (DSGVO) als Rechtsgrundlage.&lt;br /&gt;
&lt;br /&gt;
Ist die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich und überwiegen die Interessen, Grundrechte und Grundfreiheiten des Betroffenen das erstgenannte Interesse nicht, so dient Art. 6 Abs. 1 Satz 1 f) (DSGVO) als Rechtsgrundlage für die Verarbeitung. Das berechtige Interesse unseres Unternehmens liegt in der Durchführung unserer Geschäftstätigkeit sowie in der Analyse, Optimierung und Erhaltung der Sicherheit unseres Onlineangebotes.&lt;br /&gt;
&lt;br /&gt;
Übermittlung von Daten an Dritte&lt;br /&gt;
&lt;br /&gt;
Wir verkaufen oder verleihen generell keine Nutzerdaten. Eine Übermittlung an Dritte über den in dieser Datenschutzerklärung beschriebenen Rahmen hinaus, findet nur dann statt, wenn dies zur Abwicklung des jeweiligen angeforderten Dienstes nötig ist.&lt;br /&gt;
&lt;br /&gt;
Wir übermitteln Daten nur dann, wenn dazu eine rechtliche Verpflichtung besteht. Das ist dann der Fall, wenn staatliche Einrichtungen (z.B. Strafverfolgungsbehörden) schriftlich um Auskunft ersuchen oder eine richterliche Verfügung vorliegt.&lt;br /&gt;
&lt;br /&gt;
Eine Übermittlung von personenbezogenen Daten in sogenannte Drittstaaten außerhalb des EU/ EWR-Raumes findet nicht statt.&lt;br /&gt;
&lt;br /&gt;
Gesetzliche oder vertragliche Vorschriften zur Bereitstellung von personenbezogenen Daten sowie mögliche Folgen der Nichtbereitstellung&lt;br /&gt;
&lt;br /&gt;
Wir weisen hiermit darauf hin, dass die Bereitstellung von personenbezogenen Daten in bestimmten Fällen (z.B. Steuervorschriften) gesetzlich vorgeschrieben ist oder sich aus vertraglichen Regelungen (z.B. Angaben zum/des Vertragspartners) ergeben kann. Beispielsweise kann es für einen Vertragsabschluss erforderlich sein, dass die betroffene Person/der Vertragspartner seine personenbezogenen Daten zur Verfügung stellen muss, damit sein Anliegen (z.B. Bestellung) überhaupt von uns bearbeitet werden kann. Eine Verpflichtung zur Bereitstellung von personenbezogenen Daten ergibt sich vor allem bei Vertragsabschlüssen. Sollten in diesem Fall keine personenbezogenen Daten bereitgestellt werden, kann der Vertrag mit der betroffenen Person nicht abgeschlossen werden. Vor einer Bereitstellung personenbezogener Daten durch den Betroffenen kann sich der Betroffene an unseren Datenschutzbeauftragten oder an den für die Verarbeitung Verantwortlichen wenden. Der Datenschutzbeauftragte oder der für die Verarbeitung Verantwortliche klärt dann den Betroffenen darüber auf, ob die Bereitstellung der benötigten personenbezogenen Daten gesetzlich oder vertraglich vorgeschrieben bzw. für den Vertragsabschluss erforderlich ist und ob sich aus den Anliegen der betroffenen Person eine Verpflichtung ergibt, die personenbezogenen Daten bereitzustellen bzw. welche Folgen eine Nichtbereitstellung der gewünschten Daten für den Betroffenen hat.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel Justizministerium BW ===&lt;br /&gt;
==== Datenschutzhinweis ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutzhinweis&lt;br /&gt;
Die nachfolgenden Datenschutzhinweise geben einen Überblick über die Erhebung und Verarbeitung Ihrer Daten. Die vollständigen Informationen ergeben sich aus der Datenschutzerklärung.&lt;br /&gt;
&lt;br /&gt;
Welche Daten erfassen wir von Ihnen?&lt;br /&gt;
1. Beim Aufruf unserer Webseite:&lt;br /&gt;
&lt;br /&gt;
Ihre IP-Adresse zusammen mit dem Zeitpunkt und Inhalt Ihres Abrufs einschließlich der übertragenen Datenmenge und der Meldung, ob der Abruf erfolgreich war. Diese Daten werden nach Ende des Zugriffs auf die Webseite gelöscht.&lt;br /&gt;
&lt;br /&gt;
2. Aufgrund ihrer Eingaben auf unserer Webseite:&lt;br /&gt;
&lt;br /&gt;
Auf dem Kontaktformular: Ihr Vor- und Nachname und Ihre E-Mail-Adresse&lt;br /&gt;
Wenn Sie bei uns Publikationen bestellen: Den Inhalt Ihrer Bestellung und sowie Ihr Geschlecht, Ihren Nachnamen, Ihre Anschrift und Ihre E-Mail-Adresse&lt;br /&gt;
Wenn Sie bei uns den Newsletter bestellen: Ihre E-Mail-Adresse&lt;br /&gt;
3. Weitere Daten erheben wir nicht.&lt;br /&gt;
Auf welche Weise erheben wir Ihre Daten?&lt;br /&gt;
Die Daten, die wir bei jedem Zugriff erheben, protokollieren wir automatisiert; ansonsten nur aufgrund Ihrer Eingaben und beim Bestellservice für Broschüren durch einen temporären Cookie.&lt;br /&gt;
Wofür nutzen wir Ihre Daten?&lt;br /&gt;
Ausschließlich zur Bereitstellung, Optimierung und Sicherheit unseres Internetangebots&lt;br /&gt;
Mit Ihrer Einwilligung zur Entgegenahme Ihrer Mitteilung und zur Abwicklung Ihrer Bestellung&lt;br /&gt;
Wir nutzen Ihre Daten auch&lt;br /&gt;
nicht zur Profilbildung&lt;br /&gt;
nicht für Werbung&lt;br /&gt;
grundätzlich nicht zur Weitergabe an Dritte, außer:&lt;br /&gt;
&lt;br /&gt;
Bei der Bestellung von Publikationen teilen wir Ihre Adressdaten dem Versanddienstleister mit&lt;br /&gt;
Zur Verfolgung rechtlicher Interessen, insbesondere wenn die Daten im Zusammenhang mit einem Angriff auf unsere IT-Strukturen stehen&lt;br /&gt;
Welche Rechte haben Sie:&lt;br /&gt;
Auskunft&lt;br /&gt;
Löschung&lt;br /&gt;
Berichtigung&lt;br /&gt;
Widerspruch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== Datenschutz.org====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Datenschutzerklärung&lt;br /&gt;
Das Bundesministerium der Justiz und für Verbraucherschutz nimmt den Schutz Ihrer personenbezogenen Daten sehr ernst. Wir möchten, dass Sie wissen, wann wir welche Daten erheben und wie wir sie verwenden. Wir haben technische und organisatorische Maßnahmen getroffen, die sicherstellen, dass die Vorschriften über den Datenschutz sowohl von uns als auch von externen Dienstleistern beachtet werden. Im Zuge der Weiterentwicklung unserer Webseiten und der Implementierung neuer Technologien, um unseren Service für Sie zu verbessern, können auch Änderungen dieser Datenschutzerklärung erforderlich werden. Daher empfehlen wir Ihnen, sich diese Datenschutzerklärung ab und zu erneut durchzulesen.&lt;br /&gt;
&lt;br /&gt;
Zugriff auf das Internetangebot&lt;br /&gt;
Jeder Zugriff auf das Internetangebot des Bundesministeriums der Justiz und für Verbraucherschutz wird in einer Protokolldatei gespeichert. In der Protokolldatei werden folgende Daten maximal 14 Tage gespeichert:&lt;br /&gt;
&lt;br /&gt;
Name der abgerufenen Datei&lt;br /&gt;
Datum und Uhrzeit des Abrufs&lt;br /&gt;
übertragene Datenmenge&lt;br /&gt;
Meldung, ob der Abruf erfolgreich war&lt;br /&gt;
Die gespeicherten Daten werden nur zur Optimierung des Internetangebotes ausgewertet.&lt;br /&gt;
Wenn Sie Informationsmaterial, Newsletter, Autogrammkarten oder Broschüren bestellen, fragen wir Sie nach Ihrem Namen und nach anderen persönlichen Informationen. Es unterliegt Ihrer freien Entscheidung, ob Sie diese Daten eingeben. Ihre Angaben speichern wir auf besonders geschützten Servern in Deutschland. Der Zugriff darauf ist nur wenigen besonders befugten Personen möglich, die mit der technischen, kaufmännischen oder redaktionellen Betreuung der Server befasst sind.&lt;br /&gt;
&lt;br /&gt;
Weitergabe personenbezogener Daten an Dritte&lt;br /&gt;
Daten, die beim Zugriff auf das Internetangebot des Bundesministeriums der Justiz und für Verbraucherschutz protokolliert worden sind, werden an Dritte nur übermittelt, soweit wir gesetzlich oder durch Gerichtsentscheidung dazu verpflichtet sind oder die Weitergabe im Falle von Angriffen auf die Internetinfrastruktur des BMJV zur Rechts- oder Strafverfolgung erforderlich ist. Eine Weitergabe zu anderen nichtkommerziellen oder zu kommerziellen Zwecken erfolgt nicht.&lt;br /&gt;
&lt;br /&gt;
Im Falle der Bestellung von Informationsmaterial verwenden wir die von Ihnen eingegebenen personenbezogenen Informationen nur innerhalb des Bundesministeriums der Justiz und für Verbraucherschutz und der mit dem Broschürenversand beauftragten Unternehmen. Wir geben sie nicht ohne Ihre ausdrückliche Einwilligung an Dritte weiter.&lt;br /&gt;
&lt;br /&gt;
Schutz personenbezogener Daten im Rahmen der europäischen Zusammenarbeit im Verbraucherschutz&lt;br /&gt;
Die Erklärung zum Schutz personenbezogener Daten im Rahmen der europäischen Zusammenarbeit im Verbraucherschutz finden Sie hier.&lt;br /&gt;
&lt;br /&gt;
Einsatz von Cookies&lt;br /&gt;
Auf den Seiten unseres Bestellservices für Broschüren kommt ein Cookie zum Einsatz, das für die Zeit ihres Besuchs auf der Website gültig ist. Dies ist für die Funktion des Warenkorbs aus technischen Gründen notwendig. Die meisten Browser sind so eingestellt, dass sie Cookies automatisch akzeptieren. Sie können das Speichern von Cookies jedoch deaktivieren oder Ihren Browser so einstellen, dass Cookies nur für die Dauer der jeweiligen Verbindung zum Internet gespeichert werden.&lt;br /&gt;
&lt;br /&gt;
Minderjährigenschutz&lt;br /&gt;
Personen unter 18 Jahren sollten ohne Zustimmung der Eltern oder Erziehungsberechtigten keine personenbezogenen Daten an uns übermitteln. Wir fordern keine personenbezogenen Daten von Kindern und Jugendlichen an. Wissentlich sammeln wir solche Daten nicht und geben sie auch nicht an Dritte weiter.&lt;br /&gt;
&lt;br /&gt;
Links zu Webseiten anderer Anbieter&lt;br /&gt;
Unser Online-Angebot enthält Links zu Webseiten anderer Anbieter. Wir haben keinen Einfluss darauf, dass diese Anbieter die Datenschutzbestimmungen einhalten.&lt;br /&gt;
Behördliche Datenschutzbeauftragte&lt;br /&gt;
Frau Elisabeth Duhr&lt;br /&gt;
Bundesministerium der Justiz und für Verbraucherschutz &lt;br /&gt;
Mohrenstr. 37&lt;br /&gt;
10117 Berlin&lt;br /&gt;
&lt;br /&gt;
Telefon: +49 (0) 30 18 580 - 0&lt;br /&gt;
E-Mail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Datenschutz.org ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DATENSCHUTZERKLÄRUNG&lt;br /&gt;
&lt;br /&gt;
GELTUNGSBEREICH&lt;br /&gt;
&lt;br /&gt;
Diese Datenschutzerklärung soll die Nutzer dieser Website gemäß Bundesdatenschutzgesetz und Telemediengesetz über die Art, den Umfang und den Zweck der Erhebung und Verwendung personenbezogener Daten durch den Websitebetreiber [Ihre Kontaktdaten einfügen] informieren.&lt;br /&gt;
Der Websitebetreiber nimmt Ihren Datenschutz sehr ernst und behandelt Ihre personenbezogenen Daten vertraulich und entsprechend der gesetzlichen Vorschriften.&lt;br /&gt;
Bedenken Sie, dass die Datenübertragung im Internet grundsätzlich mit Sicherheitslücken bedacht sein kann. Ein vollumfänglicher Schutz vor dem Zugriff durch Fremde ist nicht realisierbar.&lt;br /&gt;
&lt;br /&gt;
ZUGRIFFSDATEN&lt;br /&gt;
&lt;br /&gt;
Der Websitebetreiber bzw. Seitenprovider erhebt Daten über Zugriffe auf die Seite und speichert diese als „Server-Logfiles“ ab. Folgende Daten werden so protokolliert:&lt;br /&gt;
Besuchte Website&lt;br /&gt;
Uhrzeit zum Zeitpunkt des Zugriffes&lt;br /&gt;
Menge der gesendeten Daten in Byte&lt;br /&gt;
Quelle/Verweis, von welchem Sie auf die Seite gelangten&lt;br /&gt;
Verwendeter Browser&lt;br /&gt;
Verwendetes Betriebssystem&lt;br /&gt;
Verwendete IP-Adresse&lt;br /&gt;
Die erhobenen Daten dienen lediglich statistischen Auswertungen und zur Verbesserung der Website. Der Websitebetreiber behält sich allerdings vor, die Server-Logfiles nachträglich zu überprüfen, sollten konkrete Anhaltspunkte auf eine rechtswidrige Nutzung hinweisen.&lt;br /&gt;
&lt;br /&gt;
COOKIES&lt;br /&gt;
Diese Website verwendet Cookies. Dabei handelt es sich um kleine Textdateien, welche auf Ihrem Endgerät gespeichert werden. Ihr Browser greift auf diese Dateien zu. Durch den Einsatz von Cookies erhöht sich die Benutzerfreundlichkeit und Sicherheit dieser Website.&lt;br /&gt;
Gängige Browser bieten die Einstellungsoption, Cookies nicht zuzulassen. Hinweis: Es ist nicht gewährleistet, dass Sie auf alle Funktionen dieser Website ohne Einschränkungen zugreifen können, wenn Sie entsprechende Einstellungen vornehmen.&lt;br /&gt;
&lt;br /&gt;
UMGANG MIT PERSONENBEZOGENEN DATEN&lt;br /&gt;
&lt;br /&gt;
Der Websitebetreiber erhebt, nutzt und gibt Ihre personenbezogenen Daten nur dann weiter, wenn dies im gesetzlichen Rahmen erlaubt ist oder Sie in die Datenerhebung einwilligen.&lt;br /&gt;
Als personenbezogene Daten gelten sämtliche Informationen, welche dazu dienen, Ihre Person zu bestimmen und welche zu Ihnen zurückverfolgt werden können – also beispielsweise Ihr Name, Ihre E-Mail-Adresse und Telefonnummer.&lt;br /&gt;
&lt;br /&gt;
UMGANG MIT KONTAKTDATEN&lt;br /&gt;
&lt;br /&gt;
Nehmen Sie mit dem Websitebetreiber durch die angebotenen Kontaktmöglichkeiten Verbindung auf, werden Ihre Angaben gespeichert, damit auf diese zur Bearbeitung und Beantwortung Ihrer Anfrage zurückgegriffen werden kann. Ohne Ihre Einwilligung werden diese Daten nicht an Dritte weitergegeben.&lt;br /&gt;
&lt;br /&gt;
UMGANG MIT KOMMENTAREN UND BEITRÄGEN&lt;br /&gt;
&lt;br /&gt;
Hinterlassen Sie auf dieser Website einen Beitrag oder Kommentar, wird Ihre IP-Adresse gespeichert. Dies dient der Sicherheit des Websitebetreibers: Verstößt Ihr Text gegen das Recht, möchte er Ihre Identität nachverfolgen können.&lt;br /&gt;
&lt;br /&gt;
ABONNEMENTS&lt;br /&gt;
&lt;br /&gt;
Sie haben die Möglichkeit, sowohl die gesamte Website als auch Nachfolgekommentare auf Ihren Beitrag zu abonnieren. Sie erhalten eine E-Mail zur Bestätigung Ihrer E-Mail-Adresse. Neben dieser werden keine weiteren Daten erhoben. Die gespeicherten Daten werden nicht an Dritte weitergereicht. Sie können ein Abonnement jederzeit abbestellen.&lt;br /&gt;
&lt;br /&gt;
GOOGLE ANALYTICS&lt;br /&gt;
Diese Website nutzt den Dienst „Google Analytics“, welcher von der Google Inc. (1600 Amphitheatre Parkway Mountain View, CA 94043, USA) angeboten wird, zur Analyse der Websitebenutzung durch Nutzer. Der Dienst verwendet „Cookies“ – Textdateien, welche auf Ihrem Endgerät gespeichert werden. Die durch die Cookies gesammelten Informationen werden im Regelfall an einen Google-Server in den USA gesandt und dort gespeichert.&lt;br /&gt;
Auf dieser Website greift die IP-Anonymisierung. Die IP-Adresse der Nutzer wird innerhalb der Mitgliedsstaaten der EU und des Europäischen Wirtschaftsraum gekürzt. Durch diese Kürzung entfällt der Personenbezug Ihrer IP-Adresse. Im Rahmen der Vereinbarung zur Auftragsdatenvereinbarung, welche die Websitebetreiber mit der Google Inc. geschlossen haben, erstellt diese mithilfe der gesammelten Informationen eine Auswertung der Websitenutzung und der Websiteaktivität und erbringt mit der Internetnutzung verbundene Dienstleistungen.&lt;br /&gt;
Sie haben die Möglichkeit, die Speicherung des Cookies auf Ihrem Gerät zu verhindern, indem Sie in Ihrem Browser entsprechende Einstellungen vornehmen. Es ist nicht gewährleistet, dass Sie auf alle Funktionen dieser Website ohne Einschränkungen zugreifen können, wenn Ihr Browser keine Cookies zulässt.&lt;br /&gt;
Weiterhin können Sie durch ein Browser-Plugin verhindern, dass die durch Cookies gesammelten Informationen (inklusive Ihrer IP-Adresse) an die Google Inc. gesendet und von der Google Inc. genutzt werden. Folgender Link führt Sie zu dem entsprechenden Plugin: https://tools.google.com/dlpage/gaoptout?hl=de Alternativ verhindern Sie mit einem Klick auf diesen Link (WICHTIG! Opt-Out-Link einfügen), dass Google Analytics innerhalb dieser Website Daten über Sie erfasst. Mit dem Klick auf obigen Link laden Sie ein „Opt-Out-Cookie“ herunter. Ihr Browser muss die Speicherung von Cookies also hierzu grundsätzlich erlauben. Löschen Sie Ihre Cookies regelmäßig, ist ein erneuter Klick auf den Link bei jedem Besuch dieser Website vonnöten.&lt;br /&gt;
Hier finden Sie weitere Informationen zur Datennutzung durch die Google Inc.: https://support.google.com/analytics/answer/6004245?hl=de&lt;br /&gt;
&lt;br /&gt;
NUTZUNG VON SOCIAL MEDIA PLUGINS&lt;br /&gt;
&lt;br /&gt;
FACEBOOK&lt;br /&gt;
Diese Website verwendet Facebook Social Plugins, welches von der Facebook Inc. (1 Hacker Way, Menlo Park, California 94025, USA) betrieben wird. Erkennbar sind die Einbindungen an dem Facebook-Logo bzw. an den Begriffen „Like“, „Gefällt mir“, „Teilen“ in den Farben Facebooks (Blau und Weiß). Informationen zu allen Facebook-Plugins finden Sie im folgenden Link: https://developers.facebook.com/docs/plugins/&lt;br /&gt;
Das Plugin stellt eine direkte Verbindung zwischen Ihrem Browser und den Facebook-Servern her. Der Websitebetreiber hat keinerlei Einfluss auf die Natur und den Umfang der Daten, welche das Plugin an die Server der Facebook Inc. übermittelt. Informationen dazu finden Sie hier: https://www.facebook.com/help/186325668085084 Das Plugin informiert die Facebook Inc. darüber, dass Sie Nutzer diese Website besucht hat. Es besteht hierbei die Möglichkeit, dass Ihre IP-Adresse gespeichert wird. Sind Sie während des Besuchs auf dieser Website in Ihrem Facebook-Konto eingeloggt, werden die genannten Informationen mit diesem verknüpft.&lt;br /&gt;
Nutzen Sie die Funktionen des Plugins – etwa indem Sie einen Beitrag teilen oder „liken“ – werden die entsprechenden Informationen ebenfalls an die Facebook Inc. übermittelt.&lt;br /&gt;
Möchten Sie verhindern, dass die Facebook. Inc. diese Daten mit Ihrem Facebook-Konto verknüpft, loggen Sie sich bitte vor dem Besuch dieser Website bei Facebook aus.&lt;br /&gt;
&lt;br /&gt;
GOOGLE+&lt;br /&gt;
Weiterhin nutzt diese Website die „+1“-Schaltfläche von Google Plus. Betrieben wird diese von der Google Inc. (1600 Amphitheatre Parkway Mountain View, CA 94043, USA). Besuchen Sie eine Seite, welche die „+1“-Schaltfläche enthält, entsteht eine direkte Verbindung zwischen Ihrem Browser und den Google-Servern. Der Websitebetreiber hat daher keinerlei Einfluss auf die Natur und den Umfang der Daten, welche das Plugin an die Server der Google Inc. übermitteln. Klicken Sie auf den „+1“-Button, während Sie in Google + angemeldet sind, teilen Sie die Inhalte der Seite auf Ihrem öffentlichen Profil.&lt;br /&gt;
Personenbezogene Daten werden laut der Google Inc. erst dann erhoben, wenn Sie auf die Schaltfläche klicken. Auch bei eingeloggten Google-Nutzern wird unter anderem die IP-Adresse gespeichert. Möchten Sie verhindern, dass die Google Inc. diese Daten speichert und mit Ihrem Konto verknüpft, loggen Sie sich bitte vor dem Besuch dieser Website aus.&lt;br /&gt;
Informationen zur „+1“-Schaltfläche finden Sie hier: https://developers.google.com/+/web/buttons-policy.&lt;br /&gt;
Weiterhin nutzt diese Website Twitter-Schlatflächen. Betrieben werden diese von der Twitter Inc. (795 Folsom St., Suite 600, San Francisco, CA 94107, USA). Besuchen Sie eine Seite, welche eine solche Schaltfläche enthält, entsteht eine direkte Verbindung zwischen Ihrem Browser und den Twitter-Servern. Der Websitebetreiber hat daher keinerlei Einfluss über die Natur und den Umfang der Daten, welche das Plugin an die Server Twitter Inc. übermittelt.&lt;br /&gt;
Gemäß der Twitter Inc. wird dabei allein Ihre IP-Adresse erhoben und gespeichert. Informationen zu dem Umgang mit personenbezogenen Daten durch die Twitter Inc. finden Sie hier: https://twitter.com/privacy?lang=de&lt;br /&gt;
&lt;br /&gt;
NEWSLETTER ABONNEMENT&lt;br /&gt;
&lt;br /&gt;
Der Websitebetreiber bietet Ihnen einen Newsletter an, in welchem er Sie über aktuelle Geschehnisse und Angebote informiert. Möchten Sie den Newsletter abonnieren, müssen Sie eine valide E-Mail-Adresse angeben.&lt;br /&gt;
Rechte des Nutzers: Auskunft, Berichtigung und Löschung&lt;br /&gt;
Sie als Nutzer erhalten auf Antrag Ihrerseits kostenlose Auskunft darüber, welche personenbezogenen Daten über Sie gespeichert wurden. Sofern Ihr Wunsch nicht mit einer gesetzlichen Pflicht zur Aufbewahrung von Daten (z. B. Vorratsdatenspeicherung) kollidiert, haben Sie ein Anrecht auf Berichtigung falscher Daten und auf die Sperrung oder Löschung Ihrer personenbezogenen Daten.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Standard Beispiel ohne Plugins etc. ===&lt;br /&gt;
Datenschutz&lt;br /&gt;
&lt;br /&gt;
Wir freuen uns über Ihren Besuch auf unserer Webseite sowie über Ihr Interesse an unserem Unternehmen.&lt;br /&gt;
&lt;br /&gt;
Wir verstehen Datenschutz als kundenorientiertes Qualitätsmerkmal. Der Schutz Ihrer persönlichen Daten und die Wahrung Ihres Persönlichkeitsrechts sind uns wichtig.&lt;br /&gt;
&lt;br /&gt;
Mit dieser Datenschutzerklärung möchten wir alle Besucher unserer Webseite transparent über Art, Umfang und Zweck der von uns erhobenen, genutzten und verarbeiteten personenbezogenen Daten informieren und Sie über die Ihnen zustehenden Rechte aufklären.&lt;br /&gt;
&lt;br /&gt;
Eine Nutzung unserer Webseite ist grundsätzlich ohne die Angabe von personenbezogener Daten möglich. Sollten Sie jedoch über unsere Webseite Dienste unseres Unternehmens in Anspruch nehmen, kann die Verarbeitung Ihrer personenbezogenen Daten erforderlich werden.&lt;br /&gt;
&lt;br /&gt;
Die beim Besuch unserer Webseiten automatisch erhobenen Daten oder aber bei der Inanspruchnahme von Diensten von Ihnen eingetragenen personenbezogenen Daten, werden gemäß den jeweils aktuellen gesetzlichen Bestimmungen zum Schutz personenbezogener Daten verarbeitet.&lt;br /&gt;
&lt;br /&gt;
Ist eine Verarbeitung Ihrer personenbezogenen Daten erforderlich und besteht für eine solche Verarbeitung keine gesetzliche Grundlage, holen wir grundsätzlich eine Einwilligung für den erforderlichen Zweck der Verarbeitung ein.&lt;br /&gt;
Als für die Verarbeitung verantwortliches Unternehmen, haben wir technische und organisatorische Maßnahmen festgelegt, um ein möglichst hohes Schutzniveau Ihrer personenbezogenen Daten sicherzustellen. Wir weisen jedoch darauf hin, dass eine Datenübertragung über das World Wide Web grundsätzlich Sicherheitslücken aufweisen kann.&lt;br /&gt;
&lt;br /&gt;
Möchten Sie Dienste unseres Unternehmens in Anspruch nehmen und hierfür nicht den Weg der Datenübermittlung über das World Wide Web nutzen wollen, beseht auch die Möglichkeit der telefonischen Kontaktaufnahme.&lt;br /&gt;
&lt;br /&gt;
NAME UND ANSCHRIFT DES VERANTWORTLICHEN&lt;br /&gt;
&lt;br /&gt;
Der Verantwortliche im Sinne der Datenschutz-Grundverordnung und anderer nationaler Datenschutzgesetze der Mitgliedsstaaten sowie sonstiger datenschutzrechtlicher Bestimmungen ist:&lt;br /&gt;
&lt;br /&gt;
ADRESSE&lt;br /&gt;
&lt;br /&gt;
Sie können diese Website in der Regel ohne Angabe personenbezogener Daten nutzen. Soweit wir personenbezogene Daten erfassen (z.B. wenn Sie mit uns in Kontakt treten möchten), erfolgt dies stets gemäß den gesetzlichen Datenschutzvorschriften, sowie dieser Datenschutzerklärung. Ohne ausdrückliche Zustimmung werden Ihre Daten niemals an Dritte weitergegeben.&lt;br /&gt;
&lt;br /&gt;
VERSCHLÜSSELTE DATENÜBERTRAGUNG&lt;br /&gt;
&lt;br /&gt;
Auf allen Seiten unseres Internetangebots, auf denen Sie persönliche Daten eingeben - so z. B. in unserem Kontaktformular, werden Ihre Daten direkt bei der Übertragung verschlüsselt. Alle datenschutzrelevanten Informationen (wie Name und Adresse) werden geschützt gespeichert.&lt;br /&gt;
&lt;br /&gt;
Wir möchten Sie darauf hinweisen, dass die Datenübertragung im Internet (z .B. wenn Sie uns eine E-Mail schreiben) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist generell nicht möglich.&lt;br /&gt;
&lt;br /&gt;
UMFANG DER VERARBEITUNG PERSONENBEZOGENER DATEN&lt;br /&gt;
&lt;br /&gt;
Wir verarbeiten personenbezogene Daten unserer Nutzer grundsätzlich nur, soweit dies für die Funktion der Website und die Bereitstellung der Inhalte und angebotenen Leistungen erforderlich ist. Die Verarbeitung personenbezogener Daten unserer Nutzer erfolgt regelmäßig nur nach Einwilligung des Nutzers. Ausnahmen gelten, wenn eine vorherige Einholung einer Einwilligung aus tatsächlichen Gründen nicht möglich ist und die Verarbeitung der Daten durch gesetzliche Vorschriften gestattet ist.&lt;br /&gt;
&lt;br /&gt;
DATENLÖSCHUNG UND SPEICHERDAUER&lt;br /&gt;
&lt;br /&gt;
Die personenbezogenen Daten der betroffenen Person werden gelöscht oder gesperrt, sobald der Zweck der Speicherung entfällt. Eine Speicherung kann darüber hinaus erfolgen, wenn dies durch den europäischen oder nationalen Gesetzgeber in unionsrechtlichen Verordnungen, Gesetzen oder sonstigen Vorschriften, denen der Verantwortliche unterliegt, vorgesehen wurde. Eine Sperrung oder Löschung der Daten erfolgt auch dann, wenn eine durch die genannten Normen vorgeschriebene Speicherfrist abläuft, es sei denn, dass eine Erforderlichkeit zur weiteren Speicherung der Daten für einen Vertragsabschluss oder eine Vertragserfüllung besteht.&lt;br /&gt;
&lt;br /&gt;
BEREITSTELLUNG DER WEBSITE UND ERSTELLUNG VON LOGFILES&lt;br /&gt;
&lt;br /&gt;
Bei jedem Aufruf unserer Internetseite erfasst unser System automatisiert Daten und Informationen vom Computersystem des aufrufenden Rechners. Folgende Daten werden hierbei erhoben:&lt;br /&gt;
&lt;br /&gt;
Informationen über den Browsertyp und die verwendete Version&lt;br /&gt;
Das Betriebssystem des Nutzers&lt;br /&gt;
Den Internet-Service-Provider des Nutzers&lt;br /&gt;
Die IP-Adresse des Nutzers&lt;br /&gt;
Datum und Uhrzeit des Zugriffs&lt;br /&gt;
Websites, von denen das System des Nutzers auf unsere Internetseite gelangt&lt;br /&gt;
Websites, die vom System des Nutzers über unsere Website aufgerufen werden&lt;br /&gt;
Die Daten werden ebenfalls in den Logfiles unseres Systems gespeichert. IP-Adressen werden im Logfile teilanonymisiert gespeichert, ihnen fehlt dadurch das Merkmal der Personenbezogenheit. Es werden keine Daten gespeichert, die eine Zuordnung der Daten zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen personenbezogenen Daten des Nutzers findet nicht statt.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die vorübergehende Speicherung der Daten ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Die vorübergehende Speicherung der IP-Adresse durch das System ist notwendig, um eine Auslieferung der Website an den Rechner des Nutzers zu ermöglichen. Hierfür muss die IP-Adresse des Nutzers für die Dauer der Sitzung gespeichert bleiben.&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Im Falle der Erfassung der Daten zur Bereitstellung der Website ist dies der Fall, wenn die jeweilige Sitzung beendet ist. Widerspruchs- und Beseitigungsmöglichkeit Die Erfassung der Daten zur Bereitstellung der Website und die Speicherung der Daten in Logfiles ist für den Betrieb der Internetseite zwingend erforderlich. Es besteht folglich seitens des Nutzers keine Widerspruchsmöglichkeit.&lt;br /&gt;
&lt;br /&gt;
ERSTELLUNG DER ZUGRIFFSSTATISTIK&lt;br /&gt;
&lt;br /&gt;
Diese Website verwendet Webalizer. Bei diesem Produkt handelt es sich um einen Web-Analyse-Dienst, der Daten über das Verhalten von Besuchern von Webseiten erhebt, sammelt und auswertet. Ein Web-Analyse-Dienst erfasst unter anderem Daten darüber, von welcher Webseite eine betroffene Person auf eine Webseite gekommen ist (wenn die Person zuvor einen Link geklickt hat), auf welche Unterseiten der Webseite zugegriffen oder wie oft und für welche Verweildauer eine Unterseite betrachtet wurde.&lt;br /&gt;
&lt;br /&gt;
Der Zweck der Verwendung ist die Auswertung der Nutzung von Webseiten zur Verbesserung des Angebots und der Bedienung. Durch die Auswertung kann in Erfahrung gebracht werden, wie die jeweilige Website genutzt wird und so das Angebot der Webseite stetig optimiert werden. Die auf diese Weise zu Analysezwecken erhoben Daten der Nutzer werden durch technische Vorkehrungen anonymisiert. Daher ist eine Zuordnung der Daten zum aufrufenden Nutzer nicht mehr möglich.&lt;br /&gt;
&lt;br /&gt;
Die Daten werden nicht gemeinsam mit sonstigen personenbezogenen Daten der Nutzer gespeichert. In diesen Zwecken liegt auch das berechtigte Interesse des Webseitenbetreibers in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1 Buchstabe f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Der Dienst speichert die verarbeiteten Daten für 190 Tage.&lt;br /&gt;
&lt;br /&gt;
Der Dienst nutzt keine Cookies, sondern verarbeiten ausschließlich die Daten des Logfiles (siehe Erstellung von Logfiles). IP-Adressen werden im Logfile teilanonymisiert gespeichert, ihnen fehlt darum das Merkmal der Personenbezogenheit.&lt;br /&gt;
&lt;br /&gt;
VERWENDUNG VON COOKIES&lt;br /&gt;
&lt;br /&gt;
Unsere Webseite verwendet Cookies. Bei Cookies handelt es sich um Textdateien, die im Internetbrowser bzw. vom Internetbrowser auf dem Computersystem des Nutzers gespeichert werden. Dieser Cookie enthält eine charakteristische Zeichenfolge. Dadurch können wir den Browser beim erneuten Aufrufen der Website wiedererkennen. Durch den Einsatz von Cookies können wir unsere Website nutzerfreundlicher gestalten. Einige Elemente unserer Internetseite erfordern es, dass der aufrufende Browser auch nach einem Seitenwechsel identifiziert werden kann.&lt;br /&gt;
&lt;br /&gt;
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Die durch technisch notwendige Cookies erhobenen Nutzerdaten werden nicht zur Erstellung von Nutzerprofilen verwendet. &lt;br /&gt;
&lt;br /&gt;
KONTAKTFORMULAR UND E-MAIL KONTAKT&lt;br /&gt;
&lt;br /&gt;
Auf unserer Website können Sie Kontaktformulare zur elektronische Kontaktaufnahme nutzen.&lt;br /&gt;
&lt;br /&gt;
Nehmen Sie diese Möglichkeit wahr, so werden die von Ihnen in der Eingabemaske eingegeben Daten an uns übermittelt und gespeichert. Im Zeitpunkt der Absendung der Nachricht werden zudem folgende Daten gespeichert:&lt;br /&gt;
&lt;br /&gt;
(1) Die IP-Adresse des Nutzers&lt;br /&gt;
&lt;br /&gt;
(2) Datum und Uhrzeit der Registrierung&lt;br /&gt;
&lt;br /&gt;
Für die Verarbeitung der Daten wird im Rahmen des Absendevorgangs Ihre Einwilligung eingeholt und auf diese Datenschutzerklärung verwiesen.&lt;br /&gt;
&lt;br /&gt;
Alternativ ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse möglich.&lt;br /&gt;
&lt;br /&gt;
In diesem Fall werden die mit der E-Mail übermittelten personenbezogenen Daten des Nutzers gespeichert. Die Daten werden ausschließlich für die Verarbeitung der Konversation verwendet.&lt;br /&gt;
&lt;br /&gt;
Es erfolgt in diesem Zusammenhang keine Weitergabe der Daten an Dritte.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten ist bei Vorliegen einer Einwilligung des Nutzers Art. 6 Abs. 1 lit. a DSGVO.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage für die Verarbeitung der Daten, die im Zuge einer Übersendung einer E-Mail übermittelt werden, ist Art. 6 Abs. 1 lit. f DSGVO.&lt;br /&gt;
&lt;br /&gt;
Zielt der E-Mail-Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1 lit. b DSGVO.&lt;br /&gt;
&lt;br /&gt;
Die Verarbeitung der personenbezogenen Daten aus der Eingabemaske dient uns allein zur Bearbeitung der Kontaktaufnahme. Im Falle einer Kontaktaufnahme per E-Mail liegt hieran auch das erforderliche berechtigte Interesse an der Verarbeitung der Daten. Die sonstigen während des Absendevorgangs verarbeiteten personenbezogenen Daten dienen dazu, einen Missbrauch des Kontaktformulars zu verhindern und die Sicherheit unserer informationstechnischen Systeme sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Für die personenbezogenen Daten aus der Eingabemaske des Kontaktformulars und diejenigen, die per E-Mail übersandt wurden, ist dies dann der Fall, wenn die jeweilige Konversation mit dem Nutzer beendet ist.&lt;br /&gt;
&lt;br /&gt;
Beendet ist die Konversation dann, wenn sich aus den Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist.&lt;br /&gt;
&lt;br /&gt;
AUSKUNFT, BERICHTIGUNG UND LÖSCHUNG&lt;br /&gt;
&lt;br /&gt;
Sie als Nutzer erhalten auf Antrag Ihrerseits kostenlose Auskunft darüber, welche personenbezogenen Daten über Sie gespeichert wurden. Sofern Ihr Wunsch nicht mit einer gesetzlichen Pflicht zur Aufbewahrung von Daten (z. B. Vorratsdatenspeicherung) kollidiert, haben Sie ein Anrecht auf Berichtigung falscher Daten und auf die Sperrung oder Löschung Ihrer personenbezogenen Daten.&lt;br /&gt;
&lt;br /&gt;
== Assistent Entwurf ==&lt;br /&gt;
https://www.ldi.nrw.de/mainmenu_Datenschutz/submenu_Datenschutzbeauftragte/Inhalt/Betriebliche_Datenschutzbeauftragte/Inhalt/Check/Check.php&lt;br /&gt;
&lt;br /&gt;
=== Check ===&lt;br /&gt;
&lt;br /&gt;
== Zusatzinfos ==&lt;br /&gt;
=== Was sind personenbezogene Daten ? ===&lt;br /&gt;
&lt;br /&gt;
== Anschreiben Textblöcke ==&lt;br /&gt;
=== Haftungsausschluss ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hinweis zu Datenschutz und Impressumsrelevanten Texten&lt;br /&gt;
Stephan Schlegel Geo-bit Reutlingen kann und darf keine Rechtsberatung geben.&lt;br /&gt;
Wir sind keine Anwaltskanzlei, sondern eine Webagentur. Deshalb dürfen wir keine Rechtsberatung leisten. &lt;br /&gt;
Gerne versorgen wir Sie mit Informationen, z.B. im Zusammenhang mit der Datenschutz-Grundverordnung oder der Impressumspflicht, die für Sie als Website-Betreiber relevant sind. Auf Ihren Wunsch erstellen wir gerne auch Inhalte für den Datenschutz-Hinweis oder das Impressum, die nach unserem Kenntnisstand und unserer Erfahrung erforderlich und ausreichend sind. Sie sind jedoch letztendlich allein für den Inhalt ihrer Website verantwortlich. Für rechtssichere Aussagen und konforme Texte sollten Sie sich daher an legitimierte Anbieter für Rechtsberatung wenden.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mustertexte einfache Sprache ==&lt;br /&gt;
TODO&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23313</id>
		<title>Processwire - Leaflet Map Marker Modul</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23313"/>
		<updated>2018-09-17T19:05:56Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Leaflet Skripte selbst einbinden */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Siehe auch ==&lt;br /&gt;
 https://processwire.com/talk/topic/9745-module-leaflet-map/?page=5 (Forum)&lt;br /&gt;
 https://github.com/gmclelland/FieldtypeLeafletMapMarker/blob/PW3/InputfieldLeafletMapMarker.module (Fork)&lt;br /&gt;
 https://leafletjs.com/ (Leaflet Hauptseite)&lt;br /&gt;
 https://leaflet-extras.github.io/leaflet-providers/preview/index.html (Karten Provider)&lt;br /&gt;
 https://github.com/Leaflet/Leaflet.markercluster (Doku für Cluster Modul)&lt;br /&gt;
== Überblick ==&lt;br /&gt;
Wird aus Zeitgründen vom Entwickler nicht sehr aktiv weitergepflegt. Allerdings gibt es ordentlichen Support im Forum und ein paar Forks auf Github.&lt;br /&gt;
&lt;br /&gt;
Man kann für spezielle Anforderungen auch nur das Feld im Backend nutzen und Leaflet im Frontend selbst aufsetzen bzw. eigene Skripte nutzen. Das JavaScript für die Frontendausgabe im Modul findet man in:&lt;br /&gt;
 MarkupLeafletMap.js (JavaScript für Frontend-Ausgabe)&lt;br /&gt;
 MarkupLeafletMap.module (Inline JS für Frontend ) &lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
* Benötigt die Konfiguration von &amp;#039;&amp;#039;&amp;#039;$additionalHeaderData&amp;#039;&amp;#039;&amp;#039;. Das ist einfach ein String der in &amp;#039;&amp;#039;_init.php&amp;#039;&amp;#039; angelegt und im &amp;#039;&amp;#039;Header eingebunden&amp;#039;&amp;#039; wird. Damit lassen sich Zusätzliche Daten per Template rendern. &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Feldname&amp;#039;&amp;#039;&amp;#039; im Backend ist hier &amp;#039;&amp;#039;&amp;#039;map_leaflet&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Achtung Bug (V2.8.1): Immer den Geocoder auf der Seite benutzen. Die Standarddaten aus der Feldkonfiguration werden nicht richtig übernommen (Adressfeld) und es gibt Ausgabefehler.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
$mapMarkup = $map-&amp;gt;render($page, &amp;#039;map_leaflet ,array(&amp;#039;markerColour&amp;#039; =&amp;gt; &amp;#039;green&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;content_bottom&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Button GM --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Lange+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Map --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;col span_12&amp;quot;&amp;gt;&amp;#039;.$mapMarkup.&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manuell Konfigurieren ==&lt;br /&gt;
Einfaches Beispiel das auch bei AJAX Seiten funktioniert und einen Button zur Google Maps Wegbeschreibung enthält.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// If AJAX put this in _init.php else uncomment next two lines&lt;br /&gt;
// $map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
// $additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
$myAdress = $page-&amp;gt;map_leaflet-&amp;gt;address;	// outputs the address you entered&lt;br /&gt;
$myLat = $page-&amp;gt;map_leaflet-&amp;gt;lat; 		// outputs the latitude&lt;br /&gt;
$myLng = $page-&amp;gt;map_leaflet-&amp;gt;lng; 		// outputs the longitude&lt;br /&gt;
$myZoom = $page-&amp;gt;map_leaflet-&amp;gt;zoom;		// outputs the zoom level&lt;br /&gt;
&lt;br /&gt;
$mapMarkup = &amp;quot;&lt;br /&gt;
&amp;lt;div id=&amp;#039;mleafletmap1&amp;#039;style=&amp;#039;height:400px;&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
var mleafletmap1 = new jsMarkupLeafletMap();&lt;br /&gt;
 mleafletmap1.setOption(&amp;#039;zoom&amp;#039;, $myZoom);&lt;br /&gt;
  mleafletmap1.init(&amp;#039;mleafletmap1&amp;#039;, $myLat, $myLng, &amp;#039;OpenStreetMap.Mapnik&amp;#039;);&lt;br /&gt;
  var default_marker_icon = L.AwesomeMarkers.icon({ icon: &amp;#039;home&amp;#039;, iconColor: &amp;#039;white&amp;#039;, prefix: &amp;#039;fa&amp;#039;, markerColor: &amp;#039;darkblue&amp;#039; });&lt;br /&gt;
  mleafletmap1.addMarkerIcon(default_marker_icon, $myLat, $myLng, &amp;#039;/kontakt/&amp;#039;, &amp;#039;Kontakt&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Meine+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;col-sm-12&amp;quot; style=&amp;quot;height:400px;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
    .$mapMarkup.&amp;#039;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Leaflet Skripte selbst einbinden ===&lt;br /&gt;
Dies sind die benötigten Header Zeilen. leaflet.css und leaflet.js sollte dann entsprechend vorhanden sein. Der Rest kommat aus dem Modul Verzeichnis.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Font Awesome muß ebenfalls vorhanden sein (Bisher - September 2018, die 4er Version).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
  $additionalHeaderData = &amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.$config-&amp;gt;urls-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scroll Zoom abschalten ===&lt;br /&gt;
In MarkupLeafletMap.js die Option hinzufügen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
this.options = {&lt;br /&gt;
        zoom: 10,&lt;br /&gt;
        center: null,&lt;br /&gt;
        scrollWheelZoom: false,&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    this._currentURL = &amp;#039;&amp;#039;;&lt;br /&gt;
    this.init = function(mapID, lat, lng, provider) {&lt;br /&gt;
        if(lat != 0) this.map = L.map(mapID, {&lt;br /&gt;
          center: [lat, lng],&lt;br /&gt;
          zoom: this.options.zoom,&lt;br /&gt;
          scrollWheelZoom: this.options.scrollWheelZoom&lt;br /&gt;
        } );&lt;br /&gt;
        L.tileLayer.provider(provider).addTo(this.map);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;#039;map&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
	var cities = new L.LayerGroup();&lt;br /&gt;
&lt;br /&gt;
	L.marker([39.61, -105.02]).bindPopup(&amp;#039;This is Littleton, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.74, -104.99]).bindPopup(&amp;#039;This is Denver, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.73, -104.8]).bindPopup(&amp;#039;This is Aurora, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.77, -105.23]).bindPopup(&amp;#039;This is Golden, CO.&amp;#039;).addTo(cities);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	var mbAttr = &amp;#039;Map data &amp;amp;copy; &amp;lt;a href=&amp;quot;http://openstreetmap.org&amp;quot;&amp;gt;OpenStreetMap&amp;lt;/a&amp;gt; contributors, &amp;#039; +&lt;br /&gt;
			&amp;#039;&amp;lt;a href=&amp;quot;http://creativecommons.org/licenses/by-sa/2.0/&amp;quot;&amp;gt;CC-BY-SA&amp;lt;/a&amp;gt;, &amp;#039; +&lt;br /&gt;
			&amp;#039;Imagery © &amp;lt;a href=&amp;quot;http://mapbox.com&amp;quot;&amp;gt;Mapbox&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
		mbUrl = &amp;#039;https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	var grayscale   = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.light&amp;#039;, attribution: mbAttr}),&lt;br /&gt;
		streets  = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.streets&amp;#039;,   attribution: mbAttr});&lt;br /&gt;
&lt;br /&gt;
	var map = L.map(&amp;#039;map&amp;#039;, {&lt;br /&gt;
		center: [39.73, -104.99],&lt;br /&gt;
		zoom: 10,&lt;br /&gt;
		layers: [grayscale, cities]&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var baseLayers = {&lt;br /&gt;
		&amp;quot;Grayscale&amp;quot;: grayscale,&lt;br /&gt;
		&amp;quot;Streets&amp;quot;: streets&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var overlays = {&lt;br /&gt;
		&amp;quot;Cities&amp;quot;: cities&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	L.control.layers(baseLayers, overlays).addTo(map);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23312</id>
		<title>Processwire - Leaflet Map Marker Modul</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23312"/>
		<updated>2018-09-17T18:55:15Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Leaflet Skripte selbst einbinden */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Siehe auch ==&lt;br /&gt;
 https://processwire.com/talk/topic/9745-module-leaflet-map/?page=5 (Forum)&lt;br /&gt;
 https://github.com/gmclelland/FieldtypeLeafletMapMarker/blob/PW3/InputfieldLeafletMapMarker.module (Fork)&lt;br /&gt;
 https://leafletjs.com/ (Leaflet Hauptseite)&lt;br /&gt;
 https://leaflet-extras.github.io/leaflet-providers/preview/index.html (Karten Provider)&lt;br /&gt;
 https://github.com/Leaflet/Leaflet.markercluster (Doku für Cluster Modul)&lt;br /&gt;
== Überblick ==&lt;br /&gt;
Wird aus Zeitgründen vom Entwickler nicht sehr aktiv weitergepflegt. Allerdings gibt es ordentlichen Support im Forum und ein paar Forks auf Github.&lt;br /&gt;
&lt;br /&gt;
Man kann für spezielle Anforderungen auch nur das Feld im Backend nutzen und Leaflet im Frontend selbst aufsetzen bzw. eigene Skripte nutzen. Das JavaScript für die Frontendausgabe im Modul findet man in:&lt;br /&gt;
 MarkupLeafletMap.js (JavaScript für Frontend-Ausgabe)&lt;br /&gt;
 MarkupLeafletMap.module (Inline JS für Frontend ) &lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
* Benötigt die Konfiguration von &amp;#039;&amp;#039;&amp;#039;$additionalHeaderData&amp;#039;&amp;#039;&amp;#039;. Das ist einfach ein String der in &amp;#039;&amp;#039;_init.php&amp;#039;&amp;#039; angelegt und im &amp;#039;&amp;#039;Header eingebunden&amp;#039;&amp;#039; wird. Damit lassen sich Zusätzliche Daten per Template rendern. &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Feldname&amp;#039;&amp;#039;&amp;#039; im Backend ist hier &amp;#039;&amp;#039;&amp;#039;map_leaflet&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Achtung Bug (V2.8.1): Immer den Geocoder auf der Seite benutzen. Die Standarddaten aus der Feldkonfiguration werden nicht richtig übernommen (Adressfeld) und es gibt Ausgabefehler.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
$mapMarkup = $map-&amp;gt;render($page, &amp;#039;map_leaflet ,array(&amp;#039;markerColour&amp;#039; =&amp;gt; &amp;#039;green&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;content_bottom&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Button GM --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Lange+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Map --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;col span_12&amp;quot;&amp;gt;&amp;#039;.$mapMarkup.&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manuell Konfigurieren ==&lt;br /&gt;
Einfaches Beispiel das auch bei AJAX Seiten funktioniert und einen Button zur Google Maps Wegbeschreibung enthält.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// If AJAX put this in _init.php else uncomment next two lines&lt;br /&gt;
// $map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
// $additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
$myAdress = $page-&amp;gt;map_leaflet-&amp;gt;address;	// outputs the address you entered&lt;br /&gt;
$myLat = $page-&amp;gt;map_leaflet-&amp;gt;lat; 		// outputs the latitude&lt;br /&gt;
$myLng = $page-&amp;gt;map_leaflet-&amp;gt;lng; 		// outputs the longitude&lt;br /&gt;
$myZoom = $page-&amp;gt;map_leaflet-&amp;gt;zoom;		// outputs the zoom level&lt;br /&gt;
&lt;br /&gt;
$mapMarkup = &amp;quot;&lt;br /&gt;
&amp;lt;div id=&amp;#039;mleafletmap1&amp;#039;style=&amp;#039;height:400px;&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
var mleafletmap1 = new jsMarkupLeafletMap();&lt;br /&gt;
 mleafletmap1.setOption(&amp;#039;zoom&amp;#039;, $myZoom);&lt;br /&gt;
  mleafletmap1.init(&amp;#039;mleafletmap1&amp;#039;, $myLat, $myLng, &amp;#039;OpenStreetMap.Mapnik&amp;#039;);&lt;br /&gt;
  var default_marker_icon = L.AwesomeMarkers.icon({ icon: &amp;#039;home&amp;#039;, iconColor: &amp;#039;white&amp;#039;, prefix: &amp;#039;fa&amp;#039;, markerColor: &amp;#039;darkblue&amp;#039; });&lt;br /&gt;
  mleafletmap1.addMarkerIcon(default_marker_icon, $myLat, $myLng, &amp;#039;/kontakt/&amp;#039;, &amp;#039;Kontakt&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Meine+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;col-sm-12&amp;quot; style=&amp;quot;height:400px;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
    .$mapMarkup.&amp;#039;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Leaflet Skripte selbst einbinden ===&lt;br /&gt;
Dies sind die benötigten Header Zeilen. leaflet.css und leaflet.js sollte dann entsprechend vorhanden sein. Der Rest kommat aus dem Modul Verzeichnis&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$additionalHeaderData .= &amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
				&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Scroll Zoom abschalten ===&lt;br /&gt;
In MarkupLeafletMap.js die Option hinzufügen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
this.options = {&lt;br /&gt;
        zoom: 10,&lt;br /&gt;
        center: null,&lt;br /&gt;
        scrollWheelZoom: false,&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    this._currentURL = &amp;#039;&amp;#039;;&lt;br /&gt;
    this.init = function(mapID, lat, lng, provider) {&lt;br /&gt;
        if(lat != 0) this.map = L.map(mapID, {&lt;br /&gt;
          center: [lat, lng],&lt;br /&gt;
          zoom: this.options.zoom,&lt;br /&gt;
          scrollWheelZoom: this.options.scrollWheelZoom&lt;br /&gt;
        } );&lt;br /&gt;
        L.tileLayer.provider(provider).addTo(this.map);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;#039;map&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
	var cities = new L.LayerGroup();&lt;br /&gt;
&lt;br /&gt;
	L.marker([39.61, -105.02]).bindPopup(&amp;#039;This is Littleton, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.74, -104.99]).bindPopup(&amp;#039;This is Denver, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.73, -104.8]).bindPopup(&amp;#039;This is Aurora, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.77, -105.23]).bindPopup(&amp;#039;This is Golden, CO.&amp;#039;).addTo(cities);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	var mbAttr = &amp;#039;Map data &amp;amp;copy; &amp;lt;a href=&amp;quot;http://openstreetmap.org&amp;quot;&amp;gt;OpenStreetMap&amp;lt;/a&amp;gt; contributors, &amp;#039; +&lt;br /&gt;
			&amp;#039;&amp;lt;a href=&amp;quot;http://creativecommons.org/licenses/by-sa/2.0/&amp;quot;&amp;gt;CC-BY-SA&amp;lt;/a&amp;gt;, &amp;#039; +&lt;br /&gt;
			&amp;#039;Imagery © &amp;lt;a href=&amp;quot;http://mapbox.com&amp;quot;&amp;gt;Mapbox&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
		mbUrl = &amp;#039;https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	var grayscale   = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.light&amp;#039;, attribution: mbAttr}),&lt;br /&gt;
		streets  = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.streets&amp;#039;,   attribution: mbAttr});&lt;br /&gt;
&lt;br /&gt;
	var map = L.map(&amp;#039;map&amp;#039;, {&lt;br /&gt;
		center: [39.73, -104.99],&lt;br /&gt;
		zoom: 10,&lt;br /&gt;
		layers: [grayscale, cities]&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var baseLayers = {&lt;br /&gt;
		&amp;quot;Grayscale&amp;quot;: grayscale,&lt;br /&gt;
		&amp;quot;Streets&amp;quot;: streets&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var overlays = {&lt;br /&gt;
		&amp;quot;Cities&amp;quot;: cities&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	L.control.layers(baseLayers, overlays).addTo(map);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23311</id>
		<title>Processwire - Leaflet Map Marker Modul</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Processwire_-_Leaflet_Map_Marker_Modul&amp;diff=23311"/>
		<updated>2018-09-17T18:54:50Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: /* Beispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Siehe auch ==&lt;br /&gt;
 https://processwire.com/talk/topic/9745-module-leaflet-map/?page=5 (Forum)&lt;br /&gt;
 https://github.com/gmclelland/FieldtypeLeafletMapMarker/blob/PW3/InputfieldLeafletMapMarker.module (Fork)&lt;br /&gt;
 https://leafletjs.com/ (Leaflet Hauptseite)&lt;br /&gt;
 https://leaflet-extras.github.io/leaflet-providers/preview/index.html (Karten Provider)&lt;br /&gt;
 https://github.com/Leaflet/Leaflet.markercluster (Doku für Cluster Modul)&lt;br /&gt;
== Überblick ==&lt;br /&gt;
Wird aus Zeitgründen vom Entwickler nicht sehr aktiv weitergepflegt. Allerdings gibt es ordentlichen Support im Forum und ein paar Forks auf Github.&lt;br /&gt;
&lt;br /&gt;
Man kann für spezielle Anforderungen auch nur das Feld im Backend nutzen und Leaflet im Frontend selbst aufsetzen bzw. eigene Skripte nutzen. Das JavaScript für die Frontendausgabe im Modul findet man in:&lt;br /&gt;
 MarkupLeafletMap.js (JavaScript für Frontend-Ausgabe)&lt;br /&gt;
 MarkupLeafletMap.module (Inline JS für Frontend ) &lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
* Benötigt die Konfiguration von &amp;#039;&amp;#039;&amp;#039;$additionalHeaderData&amp;#039;&amp;#039;&amp;#039;. Das ist einfach ein String der in &amp;#039;&amp;#039;_init.php&amp;#039;&amp;#039; angelegt und im &amp;#039;&amp;#039;Header eingebunden&amp;#039;&amp;#039; wird. Damit lassen sich Zusätzliche Daten per Template rendern. &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Feldname&amp;#039;&amp;#039;&amp;#039; im Backend ist hier &amp;#039;&amp;#039;&amp;#039;map_leaflet&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Achtung Bug (V2.8.1): Immer den Geocoder auf der Seite benutzen. Die Standarddaten aus der Feldkonfiguration werden nicht richtig übernommen (Adressfeld) und es gibt Ausgabefehler.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
$additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
$mapMarkup = $map-&amp;gt;render($page, &amp;#039;map_leaflet ,array(&amp;#039;markerColour&amp;#039; =&amp;gt; &amp;#039;green&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;content_bottom&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Button GM --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Lange+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Map --&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;col span_12&amp;quot;&amp;gt;&amp;#039;.$mapMarkup.&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manuell Konfigurieren ==&lt;br /&gt;
Einfaches Beispiel das auch bei AJAX Seiten funktioniert und einen Button zur Google Maps Wegbeschreibung enthält.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// If AJAX put this in _init.php else uncomment next two lines&lt;br /&gt;
// $map = wire(&amp;#039;modules&amp;#039;)-&amp;gt;get(&amp;#039;MarkupLeafletMap&amp;#039;);&lt;br /&gt;
// $additionalHeaderData = $map-&amp;gt;getLeafletMapHeaderLines();&lt;br /&gt;
&lt;br /&gt;
$myAdress = $page-&amp;gt;map_leaflet-&amp;gt;address;	// outputs the address you entered&lt;br /&gt;
$myLat = $page-&amp;gt;map_leaflet-&amp;gt;lat; 		// outputs the latitude&lt;br /&gt;
$myLng = $page-&amp;gt;map_leaflet-&amp;gt;lng; 		// outputs the longitude&lt;br /&gt;
$myZoom = $page-&amp;gt;map_leaflet-&amp;gt;zoom;		// outputs the zoom level&lt;br /&gt;
&lt;br /&gt;
$mapMarkup = &amp;quot;&lt;br /&gt;
&amp;lt;div id=&amp;#039;mleafletmap1&amp;#039;style=&amp;#039;height:400px;&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
var mleafletmap1 = new jsMarkupLeafletMap();&lt;br /&gt;
 mleafletmap1.setOption(&amp;#039;zoom&amp;#039;, $myZoom);&lt;br /&gt;
  mleafletmap1.init(&amp;#039;mleafletmap1&amp;#039;, $myLat, $myLng, &amp;#039;OpenStreetMap.Mapnik&amp;#039;);&lt;br /&gt;
  var default_marker_icon = L.AwesomeMarkers.icon({ icon: &amp;#039;home&amp;#039;, iconColor: &amp;#039;white&amp;#039;, prefix: &amp;#039;fa&amp;#039;, markerColor: &amp;#039;darkblue&amp;#039; });&lt;br /&gt;
  mleafletmap1.addMarkerIcon(default_marker_icon, $myLat, $myLng, &amp;#039;/kontakt/&amp;#039;, &amp;#039;Kontakt&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
$content .= &amp;#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;gmroute&amp;quot; style=&amp;quot;z-index: 30001;position: relative;height: 24px;right: 20px;top: 40px;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;a class=&amp;quot;gmroute-link&amp;quot; href=&amp;quot;https://www.google.de/maps/dir//Meine+Str.+9+D-72829+Engstingen&amp;quot; target=&amp;quot;_blank&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;Route planen&amp;lt;/a&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;col-sm-12&amp;quot; style=&amp;quot;height:400px;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
    .$mapMarkup.&amp;#039;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Leaflet Skripte selbst einbinden ===&lt;br /&gt;
Dies sind die benötigten Header Zeilen. leaflet.css und leaflet.js sollte dann entsprechend vorhanden sein. Der Rest kommat aus dem Modul Verzeichnis&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$additionalHeaderData .= &amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Styles supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/MarkerCluster.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;templates.&amp;#039;styles/MarkerCluster.Custom.css&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Scripts supporting the use of Leaflet.js --&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;templates.&amp;#039;vendors/leaflet/leaflet.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-markercluster/leaflet.markercluster.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-providers/leaflet-providers.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/MarkupLeafletMap.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Extend Leaflet with Awesome.Markers --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;#039;.urls()-&amp;gt;siteModules.&amp;#039;FieldtypeLeafletMapMarker/assets/leaflet-awesome-markers/leaflet.awesome-markers.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
				&amp;#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Scroll Zoom abschalten ===&lt;br /&gt;
In MarkupLeafletMap.js die Option hinzufügen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
this.options = {&lt;br /&gt;
        zoom: 10,&lt;br /&gt;
        center: null,&lt;br /&gt;
        scrollWheelZoom: false,&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    this._currentURL = &amp;#039;&amp;#039;;&lt;br /&gt;
    this.init = function(mapID, lat, lng, provider) {&lt;br /&gt;
        if(lat != 0) this.map = L.map(mapID, {&lt;br /&gt;
          center: [lat, lng],&lt;br /&gt;
          zoom: this.options.zoom,&lt;br /&gt;
          scrollWheelZoom: this.options.scrollWheelZoom&lt;br /&gt;
        } );&lt;br /&gt;
        L.tileLayer.provider(provider).addTo(this.map);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Allgemein ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;#039;map&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
	var cities = new L.LayerGroup();&lt;br /&gt;
&lt;br /&gt;
	L.marker([39.61, -105.02]).bindPopup(&amp;#039;This is Littleton, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.74, -104.99]).bindPopup(&amp;#039;This is Denver, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.73, -104.8]).bindPopup(&amp;#039;This is Aurora, CO.&amp;#039;).addTo(cities),&lt;br /&gt;
	L.marker([39.77, -105.23]).bindPopup(&amp;#039;This is Golden, CO.&amp;#039;).addTo(cities);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	var mbAttr = &amp;#039;Map data &amp;amp;copy; &amp;lt;a href=&amp;quot;http://openstreetmap.org&amp;quot;&amp;gt;OpenStreetMap&amp;lt;/a&amp;gt; contributors, &amp;#039; +&lt;br /&gt;
			&amp;#039;&amp;lt;a href=&amp;quot;http://creativecommons.org/licenses/by-sa/2.0/&amp;quot;&amp;gt;CC-BY-SA&amp;lt;/a&amp;gt;, &amp;#039; +&lt;br /&gt;
			&amp;#039;Imagery © &amp;lt;a href=&amp;quot;http://mapbox.com&amp;quot;&amp;gt;Mapbox&amp;lt;/a&amp;gt;&amp;#039;,&lt;br /&gt;
		mbUrl = &amp;#039;https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	var grayscale   = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.light&amp;#039;, attribution: mbAttr}),&lt;br /&gt;
		streets  = L.tileLayer(mbUrl, {id: &amp;#039;mapbox.streets&amp;#039;,   attribution: mbAttr});&lt;br /&gt;
&lt;br /&gt;
	var map = L.map(&amp;#039;map&amp;#039;, {&lt;br /&gt;
		center: [39.73, -104.99],&lt;br /&gt;
		zoom: 10,&lt;br /&gt;
		layers: [grayscale, cities]&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var baseLayers = {&lt;br /&gt;
		&amp;quot;Grayscale&amp;quot;: grayscale,&lt;br /&gt;
		&amp;quot;Streets&amp;quot;: streets&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var overlays = {&lt;br /&gt;
		&amp;quot;Cities&amp;quot;: cities&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	L.control.layers(baseLayers, overlays).addTo(map);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=DSGVO_-_Abmahnungen&amp;diff=23310</id>
		<title>DSGVO - Abmahnungen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=DSGVO_-_Abmahnungen&amp;diff=23310"/>
		<updated>2018-09-17T05:45:54Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: Die Seite wurde neu angelegt: „Argumentationen, Gesetzesgrundlagen, Quellen, Entscheide  == Links ==   https://www.wbs-law.de/internetrecht/erste-dsgvo-abmahnungen-im-umlauf-ra-solmecke-klae…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Argumentationen, Gesetzesgrundlagen, Quellen, Entscheide&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
 https://www.wbs-law.de/internetrecht/erste-dsgvo-abmahnungen-im-umlauf-ra-solmecke-klaert-auf-77452/&lt;br /&gt;
&lt;br /&gt;
== Abmahnargumente ==&lt;br /&gt;
Generell fragwürdig weil:&lt;br /&gt;
&lt;br /&gt;
== Abmahngründe ==&lt;br /&gt;
=== Google Fonts extern genutzt ===&lt;br /&gt;
Ob man für den Einsatz von Google-Fonts tatsächlich eine vorherige Einwilligung des Nutzers benötigt, ist umstritten. Ich vertrete die Rechtsauffassung, dass es das berechtigte Interesse eines Webseitenbetreibers ist, diesen Dienst zu nutzen. Eine Einwilligung ist damit entbehrlich.&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Pagination&amp;diff=23309</id>
		<title>ProcessWire - Pagination</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Pagination&amp;diff=23309"/>
		<updated>2018-09-13T20:08:24Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Seitenbrowser / Pagebrowser in ProcessWire&lt;br /&gt;
&lt;br /&gt;
 https://processwire.com/api/modules/markup-pager-nav/&lt;br /&gt;
&lt;br /&gt;
* Im Template erlauben&lt;br /&gt;
Beispiele&lt;br /&gt;
&lt;br /&gt;
Kindseiten (z.B. Blog Einträge) auflisten&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// override some standard pager settings&lt;br /&gt;
$pagerOptions = array(&lt;br /&gt;
  &amp;#039;listMarkup&amp;#039; =&amp;gt; &amp;quot;&amp;lt;ul class=&amp;#039;uk-pagination&amp;#039;&amp;gt;{out}&amp;lt;/ul&amp;gt;&amp;quot;,&lt;br /&gt;
);&lt;br /&gt;
$posts = page()-&amp;gt;children(&amp;#039;limit=10&amp;#039;);&lt;br /&gt;
$pagination = $posts-&amp;gt;renderPager($pagerOptions);&lt;br /&gt;
// output pagination&lt;br /&gt;
echo ($pagination)&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Note that the render() method above is from the MarkupPageArray plugin module.&lt;br /&gt;
 * It does nothing more than iterate through the provided pages and make an unordered list,&lt;br /&gt;
 * optionally with pagination.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Selectors&amp;diff=23308</id>
		<title>ProcessWire - Selectors</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=ProcessWire_-_Selectors&amp;diff=23308"/>
		<updated>2018-09-13T18:44:34Z</updated>

		<summary type="html">&lt;p&gt;109.193.234.155: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Operatoren ==&lt;br /&gt;
 http://cheatsheet.processwire.com/selectors/selector-operators/&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Selektoren in Option Fieldtypes ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$optionsfield // return id (string)&lt;br /&gt;
$optionsfield-&amp;gt;id; // return id (int)&lt;br /&gt;
$optionsfield-&amp;gt;title; // return string USE THIS or&lt;br /&gt;
$optionsfield-&amp;gt;value; // return empty string or value (if your option settings like &amp;#039;1=value|title&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
// dot syntax in selector string&lt;br /&gt;
$pages-&amp;gt;find(&amp;#039;optionsfield.id=2&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Seiten finden ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$skyscrapers = $pages-&amp;gt;find(&amp;quot;template=skyscraper, sort=-modified&amp;quot;);&lt;br /&gt;
foreach($skyscrapers as $skyscraper) {&lt;br /&gt;
    echo &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;$skyscraper-&amp;gt;url&amp;#039;&amp;gt;$skyscraper-&amp;gt;title&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Page Reference auf diese Seite ===&lt;br /&gt;
https://processwire.com/talk/topic/1071-page-fieldtype-two-way-relation/&lt;br /&gt;
 echo $pages-&amp;gt;find(&amp;quot;field1=$page&amp;quot;)-&amp;gt;render();&lt;br /&gt;
If the page isn&amp;#039;t part of the front-end site, then I&amp;#039;ll remove view access from its template. Or if it is part of the front-end, but I don&amp;#039;t want to show the relations, then this:&lt;br /&gt;
&lt;br /&gt;
 if($page-&amp;gt;editable()) echo $pages-&amp;gt;find(&amp;quot;field1=$page&amp;quot;)-&amp;gt;render();&lt;br /&gt;
 &lt;br /&gt;
Though I almost always integrate these relation-revealing pages into the site structure, as it&amp;#039;s rare that this information doesn&amp;#039;t have some value to the site&amp;#039;s users too. This is an example of one that locates all pages referencing it in a field called &amp;#039;country&amp;#039;:&lt;br /&gt;
 https://www.tripsite.com/countries/croatia/&lt;br /&gt;
&lt;br /&gt;
=== Punkt Syntax ===&lt;br /&gt;
 $architects = $pages-&amp;gt;find(&amp;quot;template=architect, city.title=Chicago&amp;quot;); &lt;br /&gt;
 $buildings = $pages-&amp;gt;find(&amp;quot;architect=$architects&amp;quot;); &lt;br /&gt;
That&amp;#039;s easy enough, but wouldn&amp;#039;t it be nicer if you could just do this?&lt;br /&gt;
 $buildings = $pages-&amp;gt;find(&amp;quot;architect.city.title=Chicago&amp;quot;); &lt;br /&gt;
&lt;br /&gt;
 $buildings = $pages-&amp;gt;find(&amp;quot;architect.city.state.abbr=IL&amp;quot;); &lt;br /&gt;
Broadening further, perhaps we want buildings from all architects in the USA:&lt;br /&gt;
&lt;br /&gt;
 $buildings = $pages-&amp;gt;find(&amp;quot;architect.city.state.country.abbr=USA&amp;quot;);&lt;br /&gt;
Or perhaps both USA and Canada:&lt;br /&gt;
&lt;br /&gt;
 $buildings = $pages-&amp;gt;find(&amp;quot;architect.city.state.country.abbr=USA|CA&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
=== User ===&lt;br /&gt;
 http://cheatsheet.processwire.com/users/users-methods/users-find-selector/&lt;br /&gt;
Find all users whose email address ENDS with processwire.com and create a link to email them&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$items = $users-&amp;gt;find(&amp;quot;email$=processwire.com&amp;quot;);&lt;br /&gt;
foreach($items as $item) {&lt;br /&gt;
    echo &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;mailto:{$item-&amp;gt;email}&amp;#039;&amp;gt;{$item-&amp;gt;name}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Find all users who have &amp;quot;fred&amp;quot; anywhere in their name&lt;br /&gt;
&lt;br /&gt;
 $items = $users-&amp;gt;find(&amp;quot;name*=fred&amp;quot;);&lt;br /&gt;
Find all users who have the &amp;quot;superuser&amp;quot; role&lt;br /&gt;
&lt;br /&gt;
 $items = $users-&amp;gt;find(&amp;quot;roles=superuser&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
== Array Selectors ==&lt;br /&gt;
https://processwire.com/blog/posts/processwire-3.0.13-selector-upgrades-and-new-form-builder-version/#building-a-selector-string-with-user-input-example&lt;/div&gt;</summary>
		<author><name>109.193.234.155</name></author>
	</entry>
</feed>