Stack
- GenerateBlocks Link
- Kadence Modal Block
- Fluent Forms
Link href und modal-trigger Standard.
Dem Link ein data-angebot mitgeben und dort den gewünschten String eingeben.
Dann in Fluent Forms im Formular ein Hidden Field einfügen
- Admin Feld Label: Wie soll es in Mail angezeigt werden?
- Standardwert: Leer lassen
- Button Attribute: z.B button_clicked
Der erste Teil bestimmt direkte a Elemente mit data-angebot.
Der zweite Teil ist für classic Menü Einträge gedacht, wobei man auf die Schnelle keine custom attributes beifügen kann. Deshalb der Workaround mit der css Klasse, welche dem li angefügt werden kann.
JavaScript
document.addEventListener('DOMContentLoaded', function() {
document.querySelectorAll('[data-angebot]').forEach(function(trigger) {
trigger.addEventListener('click', function() {
const angebot = this.getAttribute('data-angebot');
const hiddenField = document.querySelector('input[name="button_clicked"]');
if (hiddenField) {
hiddenField.value = angebot;
}
});
});
// .header class in navigation li
document.querySelectorAll('li.header a').forEach(function(trigger) {
trigger.addEventListener('click', function() {
const hiddenField = document.querySelector('input[name="button_clicked"]');
if (hiddenField) {
hiddenField.value = 'header';
}
});
});
});