Das Addon yform_field
ergänzt YForm um weitere Feldtypen, Validierungen und Aktionen.
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-Feld SET
anzulegenInstaller
abrufen undHauptmenü
> AddOns
installieren.Die gewünschten Feldtypen, Validierungen und Actions stehen automatisch bereit.
datetime_local
HTML5-EingabefeldStellt ein Eingabefeld für Datum + Uhrzeit zur Verfügung
domain
AuswahlfeldStellt 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.
be_media_preivew
mit BildvorschauErzeugt 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.
be_user_select
- REDAXO-Benutzer zuordnenÄhnlich zu be_user
mit dem Unterschied, den Backend-Benutzer zuweisen zu können, bspw. für zusätzliche Rechtevergabe oder Verantwortlichkeiten.
choice_html
HTML innerhalb des durch Choice erzeugten Labels erlaubenErlaubt 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.
form_url
- Erfahre, von wo das Formular abgeschickt wurdeNützlich für statistische Zwecke, wenn ein Formular seitenübergreifend eingebunden wurde und man wissen möchte, von wo es ausgefüllt wurde.
privacy_policy
- AGB und Tracking-Einverständnis abfragenStellt 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
tabs
- Formular-Felder in Tabs gruppierenÄ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:
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.
attach
- Anhänge an E-Mails hängenDie 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.
conversion_push
- Conversion-TrackingDie 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