Das Addon yform_field
ergÀnzt YForm um weitere Feldtypen, Validierungen und Aktionen.
- E-Mail Attachments - nur eine Zeile, um AnhÀnge aus Formularen an E-Mails zu hÀngen
- Echtes Datetime-Value - optimierte HTML5-Ausgabe mit optionaler EinschrÀnkung per min/max-Auswahl
be_media
mit Bildvorschau - zeigt statt der Dateinamen die gewÀhlten Bilder als Vorschaube_manager_relation
als SET - erweitert be_manager_relation um die Möglichkeit, ein Feld als echtes DB-FeldSET
anzulegen- YRewrite-Domains - SELECT-Auswahl mit der System-Domain und allen YRewrite-Domains (sofern installiert)
- Tabs - Formular-Felder in Tabs gruppieren
- Im REDAXO-Backend unter
Installer
abrufen und - anschlieĂend unter
HauptmenĂŒ
>AddOns
installieren.
Die gewĂŒnschten Feldtypen, Validierungen und Actions stehen automatisch bereit.
Stellt ein Eingabefeld fĂŒr Datum + Uhrzeit zur VerfĂŒgung
Stellt ein Select-Feld vom Typ multiple
zur VerfĂŒgung, in dem als Auswahl die System-Domain (bzw. "alle") zur VerfĂŒgung steht, oder bei installiertem YRewrite auch alle passenden Domains.
Erzeugt in der YForm Datentabelle eine Vorschau des aktuell gewÀhlten Bilds
Exakt dasselbe Feld wie be_manager_relation
nur mit der zusÀtzlichen Auswahlmöglichkeit des Datenbankfeldtyps SET
, verwendbar in allen 1:n
-Beziehungen, die direkt im Feldwert gespeichert werden.
Tipp: Ăndere in der Datenbanktabelle
yform_field
die Felddefinition deines bestehendenbe_manager_relation
-Felds zube_manager_relation_set
und lösche den REDAXO-Cache, statt das Feld zu löschen und neu anzulegen.
Ăhnlich zu be_user
mit dem Unterschied, den Backend-Benutzer zuweisen zu können, bspw. fĂŒr zusĂ€tzliche Rechtevergabe oder Verantwortlichkeiten.
Erlaubt HTML in der Ausgabe des Labels von choice
, was auch gemÀà HTML5 möglich ist, um bspw. ein Bild anstelle oder zusÀtzlich zur Auswahl zu stellen.
Tipp: Ăndere in der Datenbanktabelle
yform_field
die Felddefinition deines bestehendenchoice
-Felds zuchoice_html
und lösche den REDAXO-Cache, statt das Feld zu löschen und neu anzulegen.
NĂŒtzlich fĂŒr statistische Zwecke, wenn ein Formular seitenĂŒbergreifend eingebunden wurde und man wissen möchte, von wo es ausgefĂŒllt wurde.
Stellt auf Basis einer regulĂ€ren Checkbox weitere Eingabe-Informationen zur VerfĂŒgung, um bspw. auf AGB oder DatenschutzerklĂ€rung hinzuweisen, wie in diesem Beispiel:
Pipe-Schreibweise: name|label|no_db|attributes|notice|output_values|text|linktext|article_id
Ăhnlich wie bei Fieldsets können Formulare ĂŒber Tab-Sets optisch strukturiert werden. Dazu wird das Tab-Value am Anfang einer Feldgruppe eingefĂŒgt. Nach der letzten Gruppe muss ein abschlieĂendes Tab-Value gesetzt werden.
Im Formular sind mehrere Tab-Sets möglich, die dann aber eindeutig benannt sein mĂŒssen und sich nicht ĂŒberlappen dĂŒrfen.
Es mĂŒssen mindestens drei Tab-Values (derselben Gruppe) im Formular sein:
- erster Tab: beginnt einen Tab und baut das Tab-MenĂŒ ĂŒber alle Tabs des Tab-Sets auf.
- innerer Tab: jeder innere Tab schlieĂt den vorhergehenden ab und öffnet den eigenen Container
- letzter Tab: ohne eigenen Eintrag im Tab-MenĂŒ, schlieĂt den vorhergehenden Container und die Gruppe
Wenn in einem Tab ein Feld mit Fehlermeldung steckt, wird der Tab optisch markiert und aktiviert.
Wurde das Formulat mit "Ăbernehmen" gespeichert, wird der zuletzt aktive Tab bei der Wiederanzeige aktiv gesetzt. Ausnahme: in einem anderen Tab ist ein Feld mit Fehlermeldung.
Ein Formular kann mehrere Tab-Sets enthalten, allerdings nicht geschachtelt. In dem Fall mĂŒssel alle zu einem Tab-Set gehörenden Tab-Value denselben Gruppennamen bekommen.
Die Aktion attach
muss vor der Aktion fĂŒr den E-Mail-Versand notiert werden - logisch, sonst wird erst die Mail versendet und dann der Anhang beigefĂŒgt.
Szenario fĂŒr Bewerberformulare: Durch geschickte Kombination und Reihenfolge lĂ€sst sich zunĂ€chst eine BestĂ€tigungs-Mail an einen Bewerberin ohne Anhang versenden, anschlieĂend wird die Action eingetragen und zum Schluss eine weitere Mail-Aktion an das Unternehmen - diese ist dann mit Anhang.
Die Aktion conversion_push
sendet ein Conversion-Tracking-Event an Google Analytics (gtag.js), wenn die Seite mit dem Formular aufgerufen wird.
Der Google Tag Manager ist initialisiert, bspw. ĂŒber einen Consent-Manager. Und dieser erstellt einen eigenen EventListener gtagLoaded
, z.B. auf diese Art und Weise:
script = document.createElement('script');
script.src = 'https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX';
script.async = 'async';
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXXX');
// FĂŒgen Sie einen EventListener fĂŒr das load-Ereignis hinzu
script.addEventListener('load', function() {
// Erstellen Sie ein neues Event
var event = new Event('gtagLoaded');
// Lösen Sie das Event aus
window.dispatchEvent(event);
});
// FĂŒgen Sie das Skript-Tag zum Dokument hinzu
document.head.appendChild(script);
// action|conversion_push|google_ads|event:conversion|send_to:AW-XXXXXXXXX/XXXXXXXXXXXXXXXXXXXX|value:1|currency:EUR
z.B.: action|conversion_push|google_ads|conversion|AW-XXXXXXXXX/XXXXXXXXXXXXXXXXXXXX|999|EUR
// Conversion nur zÀhlen, wenn kein REDAXO-Benutzer eingeloggt ist
if(rex_backend_login::createUser() == null) {
echo conversion_push::google_ads('conversion', "AW-XXXXXXXXX/XXXXXXXXXXXXXXXXXXXX", 999, 'EUR');
}
Es sind keine weiteren Einstellungen vorhanden.
Siehe auch: https://github.com/alexplusde/yform_field/issues
MIT Lizenz, siehe LICENSE.md
Alexander Walther
https://www.alexplus.de
https://github.com/alexplusde
Projekt-Lead
Alexander Walther