Integrationen
Website-Widget
Von der fertigen Liste bis zu deinem eigenen Design: Probiere die Optionen aus und übernimm deinen Einbettcode.
Darstellung
Ein Vorgabensatz setzt die Schalter. Danach kannst du jeden Wert einzeln ändern. „Mehr laden“ ist in beiden Vorgabensätzen an.
Vorschau
Beispieldaten – keine Live-Suche. Auch „Mehr laden“ verwendet nur lokale Beispiele. Die Filter unten bestimmen den späteren Einbettcode.
Region und Suche
Dein Einbettcode
Ersetze DEINE-PARTNER-ID durch die Kennung, die wir dir ausgeben. Der Code ist ohne diese Kennung noch nicht einsatzbereit.
Standard: lokaler Platzhalter mit Freigabe und Widerruf. Deaktiviere das nur, wenn du eine passende Rechtsgrundlage für direktes Laden geprüft hast.
<section data-mf-consent>
<p>Beim Laden werden deine IP-Adresse und technische Requestdaten an myFlohmarkt
(Krola Consulting GmbH) und die Hostingdienstleister Cloudflare und Hetzner übertragen.
Keine Cookies oder Besucherkennung im Widget.
<a href="https://my-flohmarkt.de/datenschutz" target="_blank" rel="noreferrer">Datenschutz</a>
</p>
<button type="button">Zustimmen und Flohmärkte laden</button>
<div data-partner="DEINE-PARTNER-ID"
data-postcodes="92637,92648"
data-mode="full"
data-heading="Flohmärkte in deiner Nähe"
data-heading-level="2"
data-limit="20"
data-show-heading="true"
data-show-date="true"
data-show-place="true"
data-show-source="true"
data-show-more="true"
data-frame="true"
data-css="true"
data-color-accent="#3d5a80"
data-color-text="#253247"
data-color-background="#ffffff"></div>
<script>
(() => {
const block = document.currentScript.parentElement;
const button = block.querySelector('button');
const target = block.querySelector('[data-partner]');
let active = false;
button.addEventListener('click', async () => {
if (active) {
window.MyFlohmarktWidgets.destroy(target);
active = false;
button.textContent = 'Zustimmen und Flohmärkte laden';
return;
}
button.disabled = true;
try {
if (!window.MyFlohmarktWidgets && !window.MyFlohmarktWidgetReady) {
window.MyFlohmarktWidgetReady = new Promise((resolve, reject) => {
const script = document.createElement('script');
script.src = 'https://my-flohmarkt.de/cdn/widgets/v1.js';
script.crossOrigin = 'anonymous';
script.referrerPolicy = 'no-referrer';
script.onload = resolve;
script.onerror = () => reject(new Error('Widget konnte nicht geladen werden.'));
document.head.append(script);
});
}
if (!window.MyFlohmarktWidgets) await window.MyFlohmarktWidgetReady;
window.MyFlohmarktWidgets.mount(target);
active = true;
button.textContent = 'Freigabe widerrufen';
} catch (error) {
window.MyFlohmarktWidgetReady = undefined;
target.textContent = error.message;
} finally {
button.disabled = false;
}
});
})();
</script>
</section>Deine Partner-ID bekommst du von uns
Schick uns deine Website, die gewünschte Region und die Zugangsart: Widget oder direkte API. Wir prüfen die Anfrage und geben die Partner-ID für diesen Typ frei. Für beide Zugänge brauchst du getrennte IDs. Bei hinterlegter Website erlauben wir Datenaufrufe nur mit deren Origin. Die ID ist eine öffentliche Kennung, kein geheimer Zugangsschlüssel.
Öffnet dein E-Mail-Programm mit einem vorbereiteten Text. Die Anfrage wird erst versendet, wenn du sie dort abschickst.
Auf deiner Website einfügen
- Partner-ID anfragen und in das Feld oben eintragen. Region, Farben und gewünschte Inhalte einstellen.
- Den vollständigen Einbettcode an der gewünschten Stelle in den HTML-Code deiner Seite oder in einen HTML-/Embed-Block deines CMS einfügen.
- Datenschutzhinweise ergänzen. Bei Nutzung eines Consent-Managers das gesamte Widget erst nach Freigabe laden; kein externes Skript vorab einfügen.
- Die gespeicherte Seite auf deiner freigegebenen Website öffnen und prüfen: Freigabe, Darstellung, Links und „Mehr laden“. Eine Editor-Vorschau kann eigene Einschränkungen haben.
Hinweise für CMS und Website-Baukästen
- WordPress: Verwende einen Block „Individuelles HTML“. Dein Konto muss JavaScript speichern dürfen; sonst kann WordPress Skripte beim Speichern entfernen.
- Entfernt dein Editor Skripte oder zeigt er den Code als Text, nutze die vorgesehene HTML-/JavaScript-Einbindung deiner Plattform. Ein normaler Textblock genügt nicht.
- Manche Baukästen führen Embed-Code in einem getrennten Frame aus. Dort kann die Website-Adresse von deiner Hauptdomain abweichen. Solche Einbindungen müssen wir vor der Partner-Freigabe gesondert prüfen.
Alle Widget-Parameter
| Parameter | Wirkung / Standard |
|---|---|
| data-partner | Pflicht: von uns ausgegebene aktive Partner-ID vom Typ Widget, etwa 2026111201. Bestehende UUIDs bleiben gültig. Eine API-ID genügt hier nicht. Kein geheimer Schlüssel. |
| data-mode | full (Standard) oder minimal. Setzt nur Vorgaben; ausdrückliche Einzelwerte gewinnen. |
| data-postcodes | Bis zu 500 genaue fünfstellige PLZ, durch Komma getrennt. Nicht mit postcode/radius-km kombinieren. |
| data-postcode + data-radius-km | Mittelpunkt-PLZ und positiver Umkreis bis 200 km. Beide Werte gemeinsam angeben. |
| data-query | Optionaler Suchtext, höchstens 120 Zeichen. |
| data-date-from / data-date-to | Optionaler Zeitraum als YYYY-MM-DD. Das Ende darf nicht vor dem Anfang liegen. |
| data-limit | 1–50 Ergebnisse pro Ladung; Standard 20. Kein Gesamtlimit über alle Seiten. |
| data-show-more | true in beiden Modi. false zeigt nur die erste Seite; Wiederholen nach einem Fehler bleibt möglich. |
| data-heading | Eigener Text mit 1–120 Zeichen; Standard „Flohmärkte“. Kein HTML. |
| data-heading-level | 2–5; Standard 2. Markttitel verwenden bei angezeigten Details die nächsttiefere Ebene. |
| data-show-heading / data-show-date / data-show-place / data-show-source | true/false. In full an, in minimal aus: Überschrift, Datum/Startzeit, PLZ/Ort und Quellenzeile. |
| data-css / data-frame | true/false. In full an, in minimal aus. frame wirkt nur mit aktivem Standard-CSS. |
| data-color-accent / data-color-text / data-color-background | Akzent, Text und Hintergrund als #RGB oder #RRGGBB. Über CSS-Variablen ebenfalls anpassbar. |
Eigenes CSS verwenden
Das Widget bleibt im normalen HTML deiner Seite. Mit data-css="false" lädt es kein Standard-Stylesheet. Die Klassen bleiben erhalten. Alternativ überschreibst du unsere Styles gezielt innerhalb deiner eigenen Containerklasse. CSS-Farben wirken nur dort, wo ein Stylesheet sie verwendet.
Stabile Klassen: mf-widget, mf-widget__heading, mf-widget__list, mf-widget__item, mf-widget__link, mf-widget__title, mf-widget__date, mf-widget__place, mf-widget__more, mf-widget__status, mf-widget__attribution und mf-widget__source.
.meine-maerkte .mf-widget__link {
color: #3d5a80;
text-decoration: underline;
}
.meine-maerkte {
--mf-widget-accent: #3d5a80;
--mf-widget-text: #253247;
--mf-widget-background: #ffffff;
}Datenschutz vor dem Einbinden klären
Das Widget setzt keine Cookies, speichert keine Besucherkennung und verwendet keinen Local Storage. Beim Laden erhalten MyFlohmarkt und die Hostingdienstleister Cloudflare und Hetzner dennoch technisch erforderliche Verbindungsdaten, insbesondere die IP-Adresse. Cookie-frei bedeutet deshalb nicht automatisch einwilligungsfrei.
Dokumentiere Zweck, Empfänger und Rechtsgrundlage in deiner Datenschutzerklärung. Ob eine Einwilligung nötig ist, hängt von deiner konkreten Einbindung ab. Der Freigabecode lädt JavaScript, CSS und Daten erst nach dem Klick. Bei Widerruf entfernt er die Liste und beendet weitere Widget-Anfragen; bereits erfolgte Übertragungen werden nicht rückgängig gemacht.
Aktualisierung und Cache
Das Skript wird von unserem Server unter /cdn/widgets/v1.js geladen und mit kompatiblen Verbesserungen aktualisiert. Skript und CSS können eine Stunde, Ergebnisdaten 30 Minuten im normalen HTTP-Cache liegen. Geänderte oder abgesagte Termine können deshalb verzögert erscheinen. Einen eigenen Browser-Datenspeicher legt das Widget nicht an.
