
內容簡介
Fabriel Team Manager 外掛提供一個集中管理的解決方案,讓體育團隊的網站管理者能夠輕鬆維護多個隊伍的資料,避免繁瑣的手動更新過程,並自動處理賽季變更。
【主要功能】
• 集中管理所有隊伍與資料
• 自動處理賽季變更
• 實時檢查 UUID 格式
• 內建小工具檢查器
• 自動生成賽季存檔
外掛標籤
開發者團隊
原文外掛簡介
Einmal zentral erfassen statt jedes Jahr mühsam suchen und verteilen.
Das Problem bisher:
Vereinswebmaster müssen, wenn sie die offiziellen kostenlosen Widgets von fussball.de nutzen möchten, auf jeder Mannschaftsseite Widgets separat pflegen. Bei Tabellen-Widgets muss mit jeder neuen Saison ein neues Widget angelegt und hinterlegt werden. Das bedeutet: Jede Saison für 10 bis 20 Mannschaften (Herren, Frauen, Jugend) jeweils ein oder zwei kryptische, rein IT-technische Widgets mit 36-stelligen UUIDs auf 20 verschiedenen WordPress-Unterseiten von Hand austauschen – meist spätabends im Ehrenamt, fehleranfällig und hektisch kurz vor dem ersten Spieltag.
Die Lösung:
Eine zentrale Schaltzentrale im WordPress-Backend: Alle Teams, Zeiträume und IDs werden an einem einzigen Ort gepflegt. Auf den Unterseiten liegt lediglich ein eingebundener Block – ganz ohne manuelle Auswahl einer kryptischen ID oder dergleichen. Die Website erledigt den Rest vollautomatisch.
Die fünf wichtigsten Vorteile (Der Riesengewinn)
1. Ein zentraler Ort statt 20 Einzelseiten: Mannschaften, Widget-IDs und Zeiträume werden gebündelt an einer Stelle verwaltet. Die zwei intelligenten Gutenberg-Blöcke holen sich die passenden Daten selbstständig.
2. Den Saisonwechsel vorbereiten statt durchleiden: Neue IDs werden einfach mit einem Startdatum versehen – Wochen im Voraus und in aller Ruhe. Am Stichtag stellt die Website vollautomatisch und punktgenau um. Niemand muss mehr um Mitternacht vor dem Computer sitzen, um den Saisonwechsel live zu schalten.
3. Tippfehler verhindern statt reparieren: Jede ID wird bereits bei der Eingabe auf das gültige Format (UUID) geprüft. Über den integrierten Widget-Inspector lässt sich jedes Widget direkt im Backend auf Desktop-, Tablet- und Smartphone-Breite live testen.
4. Routinearbeit wird zu echtem Mehrwert (Automatisches Saisonarchiv): Da abgelaufene Zeiträume erhalten bleiben, entsteht im Frontend ganz von allein ein Archiv: Besucher können direkt über der Tabelle zwischen aktueller Saison, Vorsaison oder Hin- und Rückrunde umschalten – ohne jeden zusätzlichen Pflegeschritt für den Webmaster.
5. Blöcke einmal einrichten und nie wieder anfassen: Sobald einer Mannschaft eine WordPress-Seite zugewiesen ist, erkennt der Block automatisch, auf welcher Seite er sich befindet. Dieselbe Block-Konfiguration funktioniert universell auf allen Mannschaftsseiten.
Funktionen im Überblick
Mannschaftsverwaltung
* Beliebig viele Mannschaften anlegen und verwalten
* Reihenfolge komfortabel per Drag & Drop sortieren
* Schnelle Live-Suche über alle Mannschaften
* Zuordnung einer WordPress-Seite pro Team (für automatische Block-Erkennung)
* Schutz vor Datenverlust bei ungespeicherten Eingaben
Zeitraum-Steuerung
* Beliebig viele Zeiträume pro Team (z. B. Saison 2026/2027, Hinrunde, Rückrunde)
* Getrennte Widget-IDs für Spielplan und Tabelle je Zeitraum
* Flexibles Umschalten zwischen Mannschafts- und Vereinsspielplan
* Automatische, datumsgesteuerte Aktivierung (Stichtag)
* Klare Warnhinweise mit optischer Hervorhebung bei überlappenden oder fehlenden Enddaten
* Intelligenter Fallback: Ist für das heutige Datum kein Zeitraum aktiv, wird automatisch der letzte gültige Stand mit einem dezenten Hinweis angezeigt – die Vereinsseite bleibt niemals leer
Zwei native Gutenberg-Blöcke
* Spielplan & Tabelle: Feste Mannschaftsauswahl oder vollautomatische Seitenerkennung, direktes Umschalten zwischen Spielplan und Tabelle, wählbarer Start-Zeitraum, frei anpassbare Farben für Kopf- und Inhaltsbereich.
* Tabellen-Übersicht (Grid): Alle aktuellen Ligatabellen der Mannschaften übersichtlich in 1, 2 oder 3 Spalten im Raster dargestellt. Mannschaften, die in derselben Liga spielen, werden automatisch in einer gemeinsamen Karte gebündelt, statt doppelt zu erscheinen.
* Direkte Verlinkung der jeweiligen Mannschaftsseite im Kartentitel.
* Einheitliche Kartenhöhen im Raster, vollkommen responsiv bis zum Smartphone.
Kontrolle, Datenschutz und Sicherheit
* Live-Vorschau mit nativer Gerätesimulation (Desktop, Tablet, Smartphone) direkt im Backend.
* Vollständiges JSON-Backup aller Daten mit einem Klick.
* Wiederherstellung wahlweise additiv (ergänzend) oder ersetzend, inklusive Ein-Klick-Wiederherstellungspunkt (Undo).
* DSGVO-konforme Zwei-Klick-Lösung: Externe Inhalte von fussball.de werden erst nach ausdrücklicher Bestätigung durch den Seitenbesucher geladen.
* Vollständige Anbindung an gängige Consent-Management-Plugins (z. B. Complianz, Borlabs Cookie, Real Cookie Banner) über eine sauber dokumentierte Filterschnittstelle (fs_tm_load_remote_widgets).
* Optionaler Credit-Hinweis unter den Karten: standardmäßig vollständig deaktiviert (Opt-in) – kein unerwünschter Backlink auf Ihrer Website.
* Saubere und rückstandsfreie Deinstallation.
Unsere Qualitätsversprechen
* Kein Benutzerkonto, keine Registrierung, keine Aktivierungsschlüssel nötig.
* Das Plugin selbst sendet keinerlei Daten an uns.
* Eigene Skripte und Styles werden ausschließlich auf den Seiten geladen, die tatsächlich einen Plugin-Block enthalten.
* Vollständig übersetzbar (vollständige Textdomain-Integration).
Für wen ist dieses Plugin gedacht?
Für alle Fußballvereine mit mehr als zwei Mannschaften, die ihre Website eigenständig pflegen. Der Zeitgewinn und die Entlastung wachsen mit jeder weiteren Mannschaft. Ebenso ideal für Agenturen und Webmaster, die mehrere Vereins-Websites betreuen und administrative Routinearbeiten minimieren möchten.
Hilfe direkt im Plugin
Unter „Fabriel Software > Einstellungen“ finden Sie das integrierte „Handbuch & die Feld-Referenz“. Dort wird jedes Eingabefeld detailliert erläutert: was eingegeben werden muss, welche Wechselwirkungen bestehen und wo sich die jeweilige Einstellung im Gutenberg-Editor sowie im Frontend auswirkt.
Markenhinweis
Dieses Plugin ist ein unabhängiges Open-Source-Produkt. Es steht in keiner geschäftlichen Verbindung zum Deutschen Fußball-Bund e.V. (DFB) oder den Betreibern der Plattform fussball.de und wird von diesen weder unterstützt noch gesponsert. Alle genannten Marken und Produktnamen sind Eigentum der jeweiligen Inhaber und dienen ausschließlich der Beschreibung der technischen Kompatibilität.
External services
Dieses Plugin bindet Spielpläne und Ligatabellen über den externen Dienst fussball.de ein. Ohne diesen Dienst kann das Plugin keine Spieldaten darstellen.
Wann werden Daten übertragen?
Im Frontend: Sobald eine Seite aufgerufen wird, die einen Block des Plugins enthält und für die eine gültige Widget-ID hinterlegt ist.
Im Backend: Wenn eine Widget-ID über die Schaltfläche „Testen“ in der Vorschau geöffnet wird.
Welche Daten werden übertragen?
Die IP-Adresse des Besuchers
Der User-Agent des Browsers sowie technische Verbindungsdaten
Die im Plugin hinterlegte Widget-ID und der Widget-Typ
Es wird das Skript https://www.fussball.de/widgets.js geladen sowie die durch dieses Skript eingebettete Ansicht unter https://next.fussball.de/.
Dienstanbieter: DFB GmbH & Co. KG, fussball.de – https://www.fussball.de/
Nutzungsbedingungen: https://www.fussball.de/terms-of-use.action
Datenschutzerklärung: https://www.fussball.de/privacy-policy.action
Website-Betreiber sind dafür verantwortlich, die Einbindung dieses Dienstes in ihrer Datenschutzerklärung aufzuführen. Mit der Option „Zwei-Klick-Lösung aktivieren“ werden externe Inhalte erst nach vorheriger Zustimmung durch den Besucher geladen. Zudem kann das Laden über den PHP-Filter fs_tm_load_remote_widgets vollständig unterbunden und somit an ein Consent-Management-Plugin gekoppelt werden.
Source code & development
Dieses Plugin enthält keinen verschleierten, minifizierten oder auf sonstige Weise unlesbaren Code ohne Quelldatei. Zu jeder kompilierten Datei im Ordner build/ liegt das lesbare Gegenstück im Ordner src/ bei, und beide sind im ausgelieferten Paket enthalten:
build/admin.js und build/admin.css ← src/admin/admin.js, src/admin/admin.scss
build/frontend.js und build/frontend.css ← src/frontend/frontend.js, src/frontend/frontend.scss
build/blocks/fussball-widget/index.js ← src/blocks/fussball-widget/index.js, edit.js, block.json
build/blocks/tables-overview/index.js ← src/blocks/tables-overview/index.js, edit.js, block.json
Jede generierte JavaScript-Datei trägt einen Kopfkommentar, der die Quelldatei und das öffentliche Repository ausweist.
Öffentliches Quellcode-Repository (vollständiger Code, Build-Tools und Historie):
https://github.com/gaboofry/fs-team-manager
Klonen mit: git clone https://github.com/gaboofry/fs-team-manager.git
Build-Werkzeuge und Schritte zur Neuerstellung
Die Build-Konfiguration ist dem Plugin beigelegt: package.json, package-lock.json und webpack.config.js.
Abhängigkeiten exakt installieren: npm ci (oder npm install)
JavaScript, SCSS und Block-Assets nach build/ kompilieren: npm run build
Optional: Übersetzungsvorlage mit WP-CLI aktualisieren: wp i18n make-pot . languages/fabriel-team-manager.pot --slug=fabriel-team-manager --domain=fabriel-team-manager --exclude=node_modules,vendor,src
Der Build basiert auf @wordpress/scripts (webpack + Babel + Dart Sass); es wird kein weiteres Build-System benötigt. Das Repository enthält zudem die fertigen Skripte build.sh (Linux/macOS) und build.ps1 (Windows), die den kompletten Build durchführen und das fertige Distributions-ZIP schnüren. Diese Skripte gehören nicht zum ausgelieferten Plugin; klonen Sie dafür das Repository.
Verzeichnis-Assets (Banner, Screenshots)
Banner- und Screenshot-Grafiken sind nicht Bestandteil des installierbaren Plugin-Pakets. Sie befinden sich im Verzeichnis .wordpress-org/ des Quellcode-Repositories und gehören in den assets/-Ordner des WordPress.org-SVN-Repositories, damit sie beim normalen Plugin-Download nicht unnötig heruntergeladen werden.
Drittanbieter-Bibliotheken
Das Plugin bündelt keinerlei externe JavaScript- oder PHP-Bibliotheken von Drittanbietern. Der Ordner build/ enthält ausschließlich aus src/ kompilierten Code sowie die Webpack-Laufzeitumgebung von @wordpress/scripts (GPL-2.0-or-later, https://github.com/WordPress/gutenberg/tree/trunk/packages/scripts). Alle von den Blöcken genutzten WordPress-Pakete (wp.blocks, wp.blockEditor, wp.components, wp.i18n, wp.element) werden direkt von WordPress als registrierte Skript-Abhängigkeiten bezogen. Das externe Skript https://www.fussball.de/widgets.js wird direkt vom Anbieter geladen und ist nicht Teil dieses Pakets (siehe „External services“).
Security
Die öffentlichen Block-Filter fs_tm_widget_card_html, fs_tm_tables_overview_html, fs_tm_card_body_before und fs_tm_card_body_after dienen als Erweiterungspunkte für Add-ons. Filter-Callbacks erhalten das vollständig maskierte HTML und dürfen ausschließlich maskiertes HTML zurückgeben. Alle dynamischen Werte werden vor Ausführung der Filter mit esc_html(), esc_attr() oder esc_url() abgesichert. Der finale Rückgabewert der Render-Callbacks – inklusive aller durch Filter ergänzten Elemente – durchläuft als letzte Verteidigungslinie wp_kses() mit der plugin-eigenen Positivliste (fs_tm_allowed_card_html). Diese Liste erweitert wp_kses_allowed_html( 'post' ) gezielt um die für die Karten erforderlichen Elemente (template, select, option, optgroup, input), da wp_kses_post() diese Elemente stillschweigend entfernen würde.
