Über dieses Plugin
Der IDF Quote Calculator ermöglicht Besuchern, den Preis einer Lohnveredelungs-Leistung live zu berechnen. Über den Shortcode wird ein mehrstufiges Formular eingebunden: Leistung wählen, Bauteile angeben, Optionen ergänzen, Live-Preis sehen. Am Ende entscheidet der Besucher, ob er unverbindlich per Mail anfragt oder direkt über WooCommerce bestellt. Das Plugin ist generisch und wird vom Betreiber über die Admin-UI auf die eigenen Leistungen, Bauteile und Preislogiken konfiguriert.
Features
- Status: In Entwicklung. v1.0.0 ist das Grundgerüst — Custom Post Types, Admin-Menü, Dependency-Check auf IDF Master-Key. Die fachliche Logik (Preis-Engine, Shortcode, WooCommerce-Integration) folgt in den Phasen 2–7.
- Geplant — Mehrstufiger Kalkulator: Shortcode mit Stepper-UI analog IDF Subsidy Calculator, Live-Preis-Berechnung ohne Seitenneuladen.
- Geplant — Leistungen: Custom Post Type
idf_servicefür beliebige Lohnveredelungs-Leistungen (Pulverbeschichten, Verzinken, Eloxieren, Strahlen, Nasslack …), jede mit eigener Preislogik. - Geplant — Bauteil-Katalog: Custom Post Type
idf_calc_itemfür wiederkehrende Bauteile (Alufelge, Zauntor, Fahrradrahmen …) oder freie Eingabe mit Maßen/Gewicht. - Geplant — Zusatzoptionen: Custom Post Type
idf_calc_optionfür Zuschläge (Farbwahl, Vorbehandlung, Express, Abholung/Versand) — pauschal, prozentual oder pro Einheit. - Geplant — Preislogik: Grundgebühr + Menge × Einheitspreis + Optionen. Einheit wählbar (m², kg, Stück, pauschal). Staffelpreise und Mindestauftragswert konfigurierbar.
- Geplant — Zwei Abschluss-Wege: Unverbindliche Anfrage per Mail mit strukturierter Kalkulationsaufschlüsselung oder direkter Kauf über WooCommerce.
- Geplant — WooCommerce-Integration: Custom Cart Item ohne Produkt — alle Kalkulationsdetails als Cart-Item-Metadaten, keine Karteileichen-Produkte im Katalog.
- Geplant — Anfragen-Verwaltung: Custom Post Type
idf_calc_requestspeichert alle eingegangenen Anfragen, CSV-Export im Admin. - Geplant — Theme-Defaults: Keine eigenen font-family/-size/-color — das Plugin erbt die Theme-Gestaltung.
- Master-Key-Anbindung: Automatische Updates über das IDF-Plugin-Ökosystem, Dependency-Check auf IDF Master-Key ≥ 1.5.0.
Changelog
v1.5.2
Behoben
- Einheiten werden in der Ergebnis-Aufschlüsselung (Frontend + Mail) jetzt als deutsches Label angezeigt (z. B. „Stück" statt „piece"). Die Engine liefert dafür
unit_labelim Ergebnis mit.
v1.5.1
Geändert
- Alle Eingabefelder und Boxen im Frontend ohne abgerundete Ecken (
--idf-qc-radius= 0). - Live-Summe zeigt „Menge eingeben" statt eines Strichs, solange keine gültige Menge erfasst ist.
v1.5.0
Hinzugefügt
- Admin-Seite „Design": Frontend-Farben (Primär, Hover, Text, Rahmen, Erfolg) per Color-Picker anpassbar. Override via CSS-Variablen; ungeänderte Werte behalten die Standard-Optik.
- Mail-Editor (Admin-Seite „E-Mails") analog IDF Event Tickets: Absender, Layout (Logo, Schrift, Header-Ausrichtung), Farbpalette und Texte je Mail (Betreiber + Bestätigung) mit Platzhaltern, inkl. Live-Vorschau mit Beispieldaten.
- Datenschicht
includes/class-settings.php(Defaults, Getter, Sanitisierung) plusassets/admin.js/assets/admin.css(Color-Picker, Logo-Uploader).
Geändert
- Mail-Versand (
class-email.php) nutzt jetzt die Editor-Optionen (Absender, Farben, Logo, Schrift, Texte). - Datenschutz-Hinweis im Anfrageformular: das Wort „Datenschutzerklärung" ist jetzt direkt im Satz verlinkt statt in Klammern daneben.
v1.4.0
Hinzugefügt
- Standard-Admin-Seiten „Hilfe" (Shortcode-Attribute, Post-Typen, Ablauf) und „Uninstall" (Daten-Bereinigung mit Bestätigung) im Plugin-Menü.
uninstall.php: entfernt bei Plugin-Löschung alle Anfragen (idf_calc_request) und Plugin-Optionen; der Katalog bleibt erhalten.
Geändert
- Frontend-Kalkulator nutzt jetzt die volle Breite (kein eigenes
max-widthmehr). - Eingabefelder (Auswahl, Menge, Formularfelder) ohne abgerundete Ecken.
v1.3.0
Hinzugefügt
- Anfrage-Flow (Phase 4): „Unverbindlich anfragen" öffnet ein Kontaktformular (Name, E-Mail, Telefon, Firma, Nachricht, DSGVO-Zustimmung).
- AJAX-Endpoint
idf_qc_submit_request: rechnet serverseitig neu (autoritativ), speichert die Anfrage alsidf_calc_request(ACF-Felder inkl. Input- und Ergebnis-Snapshot) und stößt den Mailversand an. includes/class-email.php: HTML-Betreiber-Mail (Kontaktdaten + Kalkulations-Aufschlüsselung, Reply-To = Kunde) und Bestätigungsmail an den Endkunden.- Admin: CSV-Export aller Anfragen (Button auf der Übersichtsseite, nonce-gesichert, UTF-8-BOM für Excel).
Hinweis
- Direkt-Bestellung via WooCommerce (Abschluss-Typ „order") folgt in Phase 5.
v1.2.1
Hinzugefügt
- Frontend-Shortcode
[idf_quote_calculator](includes/class-shortcode.php) mit mehrstufigem Stepper: Leistung → Bauteile → Optionen → Ergebnis. - AJAX-Layer
includes/class-ajax.php:idf_qc_get_service(Leistungs-Payload für den Stepper) undidf_qc_calculate(serverseitige Live-Berechnung über die Engine), beide nonce-geschützt. - Engine-Methode
IDF_Quote_Calculator_Engine::describe_service()liefert eine frontend-sichere Beschreibung (Positionen, Optionen, Einheiten-Labels, Settings). - Frontend-Assets
assets/frontend.js(Vanilla-JS-Stepper, Debounce-Live-Preis) undassets/frontend.css(IDF-Look über--idf-qc-*). - Options-Logik im Frontend: exklusive Gruppen (Radio), Pflicht-Gruppen,
depends_on-Abhängigkeiten mit Kaskade. - Shortcode-Attribute
service,services,mode,title,theme,compact. data-pagespeed-no-transformam Frontend-Script gegen den mod_pagespeed-eval-Scope-Bug.
Behoben
- Release-Pipeline:
version_constant: IDF_QC_VERSIONan die idf-ci übergeben. Der Pre-Flight erwartete sonst die slug-abgeleitete KonstanteIDF_QUOTE_CALCULATOR_VERSIONund brach ab — v1.2.0 wurde dadurch nie ausgeliefert. Das Frontend ist erstmals mit v1.2.1 live.
Hinweis
- Abschluss-Buttons (Anfrage/Bestellung) werden im Ergebnis-Schritt angezeigt; ihre Aktion folgt mit dem Mail-Flow (Phase 4) und der WooCommerce-Integration (Phase 5).
v1.1.0
Hinzugefügt
- ACF Pro als zusätzliche Pflicht-Dependency (Admin-Notice bei Fehlen, Plugin lädt non-blocking weiter).
- ACF-Feldgruppen für die 4 CPTs unter
acf-json/(Auto-Sync viaacf/settings/load_json). - Preis-Engine
IDF_Quote_Calculator_Engine::calculate()inincludes/class-calculator.php: Mengen-Staffeln, Aufschlag-Faktor, Optionen (fix / pro Einheit / prozentual), Grundgebühr, Mindestauftragswert-Warning, MwSt-Anwendung (Service-Levelnet|gross). - Validation: Min/Max-Mengen, Pflicht-Optionsgruppen, exklusive Gruppen, Option-Abhängigkeiten, Items/Optionen-Zugehörigkeit zur Leistung.
- Filter-Hooks für Erweiterungen:
idf_qc_engine_validate_input,idf_qc_engine_position_subtotal,idf_qc_engine_option_amount,idf_qc_engine_result.
v1.0.0
Hinzugefügt
- Initiales Scaffolding (Plugin aktivierbar, fachliche Logik folgt in Phase 2–5).
- Plugin-Header, Konstanten-Set, Activation/Deactivation-Hooks.
- Dependency-Checker prüft IDF Master Key >= 1.5.0.
- Vier Custom Post Types:
idf_service,idf_calc_item,idf_calc_option,idf_calc_request. - Top-Level-Admin-Menü „Quote Calculator" mit Übersichtsseite.