Joomla 5 Mitteilung

Wir freuen uns mitteilen zu können, dass seit dem 29. Januar 2024 alle unsere Joomla Erweiterungen mit Joomla 5 kompatible sind.

Für alle die gerade noch von Joomla 3 auf 4 aktualisieren: Anleitungen für die Joomla 4 Migration gibt es hier:

Es gibt nun auch eine eigenständige Dokumentation für Visforms für Joomla 4 und für Visforms auf Joomla 5

Forum

Visforms Subscription Inhaber können in unserem Forum Fragen stellen. Bitte mit dem entsprechenden Benutzer anmelden.
Jeder kann lesend auf das Forum zugreifen.

Bitte stellen Sie nur 1 Frage pro Thema.

Wichtig Angaben für fast jede Frage:
V1: Welche Visforms-Version läuft?
V2: Welche Joomla-Version läuft?
V3: Welche PHP-Version läuft?

Aufgrund von Feiertagen und Urlaub ist bei Anfragen im Forum in der Zeit vom 20. Dezember 2024 bis zum 8.Januar 2025 mit verlängerten Antwortzeiten zu rechnen.

Leere Formular-Felder in der Ergebnis Mail

Mehr
8 Jahre 2 Monate her #3589 von Paul
Ich bräuchte Hilfe bei folgendem Szenario:

Formular auf der Webseite enthält viele bedingte Felder, diese werden, falls leer, auch nicht übermittelt.
Im "Ergebnis Mail Text" habe ich die Möglichkeit den Feldnamen aus dem Visforms-Dropdown einzufügen und dazu auch eine Feld-Bezeichnung als "Plain Text" einzutragen.

Problem ->
a) wenn das Feld leer ist steht die Bezeichnung ohne Wert im Formular und es sieht unprofessionell aus,
oder
b) ich lasse die Bezeichnung weg, was bei einem Formular mit ca. 200 Feldern sehr verwirrend aussieht, wenn nur die Ergebnisse dargestellt werden.

Lösung ->
Für jedes individuelle Feld im Formular ein weiteres Feld (wie z.B. Tips Text, individuelle Fehlermeldung usw.) als Feld-Bezeichner für das PDF Mail einfügen. Wenn der Wert leer ist wird die Feld-Bezeichnung auch weggelassen.

Leider erfüllt auch der unter "Erweitert" angebotene "Benutzerdefinierte Text" diese Anforderung nicht.

Es würde mich freuen falls sowas ermöglicht werden könnte.

Grüsse
Paul

Mehr
8 Jahre 2 Monate her #3594 von Administrator AV
Administrator AV antwortete auf Leere Formular-Felder in der Ergebnis Mail
Hallo Paul,

Visforms bietet dir doch die Möglichkeit einfach die Daten an die Mail anzuhängen. Diese werden dann automatisch als Label/Wert unterhalb deines Textes eingefügt. Es gibt eine Option mit der du leer Felder unterdrücken kannst (also auch alle bedingten Felder die im Formular nicht angezeigt wurden) und wenn du es so machst wird dann sowohl das Label als auch der Wert weggelassen. Außerdem gibt es in der Feldkonfiguration noch die Möglichkeit das jeweilige Feld aus den Mails ganz auszuschließen (Reiter Erweitert).
Evtl. wäre das in deinem Fall die bessere Lösung als zu versuchen, alle Felder in den Text den "Ergebnis Mail Text" manuell reinzupacken.

Gruß,
Aicha

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).

Mehr
8 Jahre 2 Monate her - 8 Jahre 2 Monate her #3595 von Paul
Hallo Aicha,

ja, ich kenne die normalen Funktionen der Admin bzw. Kunden-Mail. Das mit den leeren Feldern hatten wir vor ca. einem 1/2 Jahr hier besprochen LINK zum Forumbeitag .

Hier geht es um eine formatierte PDF Antwortmail (inkl. Logo und Briefpapiervorlage) mit über 200 bedingten Feldern an den Admin und Kunden welche wiederum ohne weitere Bearbeitung vom Admin weitergeleitet werden muss. Daher die Notwendigkeit für die individuelle Vorlage als "Ergebnis Mail Text".

Dort kann ich leider keine Feldbezeichnungen in Abhängigkeit von bedingten Felder hinterlegen. Entweder sind die Bezeichnungen dann immer sichtbar mit womöglich leerem Inhalt (bei 200 Felder sieht das nur dämlich aus) oder es kann nur der Inhalt angezeigt werden mittels dem Dropdown->Feldbezeichnung, was bei 200+ Feldern völlig unübersichtlich wird. Daher mein Lösungsvorschlag ob es denn möglich wäre ein zusätzliches Feld wie z.b. Tips Text, das die Feldbezeichnung(Text) beinhaltet für "Ergebnis Mail Text" und sichtbar wird je nachdem ob das Formularfeld bedingt (isset($fieldvalue) als TRUE zurückgibt.

if isset($fieldvalue) {
{
$mailBody .= $field->labelXXX . " : " . $fieldValue . "<br />";
}

In diesem Fall wird $mailBody aus der Vorlage "Ergebnis Mail Text" generiert und labelXXX ist das neue Feld mit dem Bezeichner für $fieldvalue.

Ich hoffe dass Du mein Problem lösen kannst oder denke ich hier zu einfach bei der Lösung. Danke Dir

Grüsse
Paul
Letzte Änderung: 8 Jahre 2 Monate her von Paul.

Mehr
8 Jahre 2 Monate her #3597 von Administrator AV
Administrator AV antwortete auf Leere Formular-Felder in der Ergebnis Mail
Hallo Paul,

ja da denkst du meines Erachtens zu einfach, denn die meisten Leute wollen wirklich nur den übertragenen Feldwert in den Text einsetzen z.B. Hallo [NAME]. Dies würde bei deinem Ansatz dann einfach zu Hallo Benutzername: xyz

D.h. die Businesslogik ist an dieser Stelle schon etwas komplizierte, bzw. der Usecase für die Platzhalter enfach anders als du es gerne hättest und eine Lösung, bei der man dann an- und abstellen kann, ob nur der Wert oder das Label und der Wert angezeigt wird und welcher Trenner dann verwendet wird und ob noch Zeilenumbrüche eingebaut werden oder nicht..... ist defniitiv aufwendig.

Wie gesagt, die Verwendung von Platzhaltern im Text dient dazu Benutzereingaben im Fließtext zu verwenden. Hierzu muss man sicherstellen, dass für das Feld eine Benuztereingabe vorliegt (Pflichtfeld)...

Für die Auflistung der Benutzereingaben am Ende der Mail sind die anderen Mailoptionen zuständig, die dann die Möglichkeit bieten sicherzustellen, dass nur nicht leere Felder übertragen werden.

Das Ersetzen der Platzhalter erfolgt in der Datei administrator\components\com_visforms\helpers\html\visforms.php in der Funktion replacePlaceholder, die allerdings von Visforms durchaus an mehreren unterschiedlichen Stellen verwendet wird. Diese Datei kann nicht updatesicher verändert werden, aber du kannst gerne auf eigene Gefahr schauen.....

Gruß,
Aicha

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).

Mehr
8 Jahre 2 Monate her #3599 von Paul
Da ich natürlich nicht die gesamte Struktur von VisForms kenne könnte ich mir für meinen Kunden erstmal einen schnellen Hack vorstellen der ungefähr so aussehen könnte. Dazu bräuchte ich allerdings deine Hilfe.

Funktion replacePlaceholder
Zeile 475
else {$fieldValue = $ffield->dbValue;} // Hier wird m.E. der placeholder mit dem Forminhalt ersetzt ?

könnte man sowas bauen, ich würde z.B. ToolTipsText als Bezeicher zweckentfremden
else {$fieldValue = $field->TooltipText." :".$ffield->dbValue;}

Hierzu bräuchte ich deine Hilfe (gerne auch gegen Spende p.N.) um die Abfrage mit den echten Variablen und Objekten zu schreiben, da ich diese natürlich erstmal nicht kenne. Es wäre keinesfalls Updatesicher aber da mir die Zeit davonrennt muss ich erstmal eine Lösung anbieten.

Grüsse
Paul

Mehr
8 Jahre 2 Monate her #3600 von Administrator AV
Administrator AV antwortete auf Leere Formular-Felder in der Ergebnis Mail
Hallo Paul,

der Code von Visforms ist ziemlich umfangreich und alle Werte an allen Stellen habe ich auch nicht auswendig im Kopf.

Ich denke aber, dass, falls du mit Tool Tips Text die Option "Tips Text" in der Feldkonfiguration meinst, diese an dieser Stelle im Code über $ffield->customtext abgerufen werden können sollte. Du bist dir ja sicher im klaren darüber, dass dieser Text im Formular auch angezeigt wird, wenn er gesetzt ist.

Für "versteckte" Felder gibt es keinen Tips Text, deshalb musst du auf jeden Fall prüfen, dass dieser Parameter vorhanden ist.

Die Codestelle auf die du dich beziehst ist die richtige.
Code:
else { //gibt es einen Tips Text? if (!empty($ffield->customtext)) { $fieldValue = $field->customtext . ":" .$ffield->dbValue; } //wenn nicht else { $fieldValue = $ffield->dbValue; } }

Ja und über eine Spende würde ich mich sehr freuen.

Herzliche Grüße,
Aicha

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).

Moderatoren: Administrator AVAdministrator IV
Powered by Kunena Forum