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.

Custom HTML/PHP Code in Erfolgstext / Ergebnis Mail

Mehr
2 Jahre 4 Monate her - 2 Jahre 4 Monate her #8307 von tornado
Hallo,
Ist es möglich, im Erfolgstext, bzw. Ergebnis Mail eines Forms HTML / PHP Code einzufügen?
Oder gibt es eine andere Möglichkeit, die Ausgabe eines Ergebnis-, bzw. Email-Texts formatierungsmässig zu beeinflussen?

Hintergrund meiner Frage:
Ich möchte z.B. abhängig vom Inhalt eines Formular-Feldes das HTML-Attribut 'Font-Color' per function setzen.

Simples Beispiel: 
Code:
<tr style="vertical-align:top">        <td></td>         <td>Gender:</td>         <?php                 if ([Gender] == "male" {                         echo "<td style="color:blue">[Gender]</td>";                  }                 if ([Gender] == "female" {                         echo "<td style="color:red">[Gender]</td>";                  }          ?> >/tr>
  
Danke für jede Unterstützung
Felix Merz
Letzte Änderung: 2 Jahre 4 Monate her von tornado.
Folgende Benutzer bedankten sich: MaliRaj

Mehr
2 Jahre 4 Monate her - 2 Jahre 4 Monate her #8310 von Administrator IV
Administrator IV antwortete auf Custom HTML/PHP Code in Erfolgstext / Ergebnis Mail
Hallo Felix,

'Erfolgstext' und den 'Ergebnis Mail Text' kannst du in einem Custom Plugin nach deinen Wünschen beliebig manipulieren.
Im Plugin-Event 'onVisformsBeforeSuccessAction' kannst du den 'Erfolgstext' ändern.
Im Plugin-Event 'onVisformsEmailPrepare' kannst du den 'Ergebnis Mail Text' ändern.

Änderung des 'Erfolgstext':
Code:
public function onVisformsBeforeSuccessAction($context, $form, $fields): bool {     $form->textresult = "<div class=\"my-text-result-class\">Mein neuer Ergebnis-Text.</div>";     return true; }

Formular-Parameter entnimmst du direkt dem $form Objekt.
Feld-Werte sowie Feld-Parameter der Feld-Konfiguration entnimmst du dem $fields Array.

Änderung des 'Ergebnis Mail Text':
Code:
public function onVisformsEmailPrepare($context, $mail, $form): bool {     $mail->Body = '<p>Mein neuer Ergebnis Mail-Text.</p>';     return true; }

Formular-Parameter entnimmst du direkt dem $form Objekt.
Feld-Werte sowie Feld-Parameter der Feld-Konfiguration entnimmst du dem $form->fields Array.

Bei der Entscheidung über die Daten-abhängige Gestaltung des Textes greifst du auf die Feldwerte zurück.
Das passende Feld findest du über die entsprechende Feld-ID aus der Visforms Feld-Liste in der Administration:
Code:
fields[field]->fid
Bei Multiselektion suchst du die gewählte(n) Option(en) über den 'dbValue' des Feldes im Array (aller möglichen Optionen) 'opts' den passenden 'value':
Code:
fields[field]->opts->value = "1" fields[field]->dbValue = "1"

Siehe IDE-Beispiel im laufenden Debugger:
vi-solutions.de/forum-uploads/custom-plu...mail-result-text.jpg

Die Dokumentation mit einem Beispiel für die Entwicklung eines individuellen Visforms Plugins findest du hier:
docs.joomla-4.visforms.vi-solutions.de/d...-plugin-development/

Die Dokumentation mit den Plugin-Events (es sind leider noch nicht alle Events hier aufgelistet) findest du hier:
docs.joomla-4.visforms.vi-solutions.de/d...-plugin-development/

Gruß, Ingmar

: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 :-).
Letzte Änderung: 2 Jahre 4 Monate her von Administrator IV.
Folgende Benutzer bedankten sich: MaliRaj

Mehr
2 Jahre 4 Monate her #8311 von tornado
Hallo Ingmar
Wow... das nenne ich mal eine professionelle, hilfreiche Antwort!
Hab mir schon gedacht, dass das wohl mit Plugin-Events gelöst werden kann, habe aber leider die Seite mit den Events nicht gefunden.

Visforms Events for Plugin Development

Herzlichen Dank für die rasche Unterstützung.

Grüsse,  Felix

Mehr
2 Jahre 4 Monate her #8312 von Administrator IV
Administrator IV antwortete auf Custom HTML/PHP Code in Erfolgstext / Ergebnis Mail
Hallo Felix,
sehr gerne geschehen!
Gruß, Ingmar

: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
2 Jahre 4 Monate her - 2 Jahre 4 Monate her #8314 von tornado
Hallo Ingmar,
Darf ich noch eine kleine Anschlussfrage stellen betr. "Daten-abhängige Gestaltung von Texten via Custom-Plugin".

Habe erfolgreich das Custom-Plugin installiert, und kann auch den entspr. Event abgreifen. Aber ich habe etwas Mühe mit dem korrekten Syntax, um direkt auf Feld-Werte zuzugreifen.
Kannst du mir ev. ein Beispiel geben, wie ich z.B. direkt auf den Wert von "userInput" des Form-Feldes mit dem Namen "form1Buchungsnummer" zugreifen kann?
Habe zwar etwas Ahnung von SW-Entwicklung und PHP und so. Aber ich stell mich grad etwas doof an....

Irgendwie so?
Code:
echo $form->fields->name["form1Buchungsnummer"]->userInput;


Herzlichen Dank
Felix
Letzte Änderung: 2 Jahre 4 Monate her von tornado.

Mehr
2 Jahre 4 Monate her - 2 Jahre 4 Monate her #8317 von Administrator AV
Administrator AV antwortete auf Custom HTML/PHP Code in Erfolgstext / Ergebnis Mail
Hallo Felix,

Visforms hat ja schon eine Menge eigener Plugins, deren Code du dir ansehen kannst unter:
.../plugins/...
und
.../plugins/visforms/...

Interessant für dich wäre etwa das Plugin plgVisformsVfcustommailadr:
.../plugins/visforms/vfcustommailadr/vfcustommailadr.php

$form enthält ein Array $fields.
Jedes Element in diesem Array ist ein field-Objekt.

Es kommt mit einer recht großen Menge an Parametern.
Identifizieren kannst du das Feld am besten über seine ID.

Der vom Benutzer eingegebene Wert steht in der Regel im Parameter dbValue.
Du kannst nicht direkt ein Feld aufrufen und dann den Wert eines Parameters abfragen.

Du musst durch das fields-Array loopen, das gewünschte Feld finden und dann den dbValue abfragen:

Code:
foreach ($form->fields as $field) {     // Feld mit id 1 ermitteln     if ($field->id == 1) {         // Userinput des Feldes         $userInput = $field->dbValue;     } }

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 :-).
Letzte Änderung: 2 Jahre 4 Monate her von Administrator IV.

Moderatoren: Administrator AVAdministrator IV
Powered by Kunena Forum