Hallo,
also soweit ich das sehe, habe ich im Fall der Verwendung von Platzhaltern für Berechnungsfelder im Workflow des "Formular senden" tatsächlich eine besondere Situation nicht berücksichtigt. Nämlich, dass es sich um Felder handeln kann, die im Formular mittels "bedingte Anzeige" ausgeblendet sind.
Die Anpassungen, um das Problem zu beheben sind sehr gering. Man muss in 2 Dateien ein ganz kleines bisschen den Code anpassen. Ich poste hier die Änderungen, die ich dann auch für das nächste Release einfügen werden. Es kann aber noch ein bisschen dauern, bis ich diese Release dann auch frei schalte. Ich hoffe du kannst die Änderungen vorab bei dir selbst einarbeiten.
Betroffen sind 2 Dateien
1. administrator/components/com_visforms/helpers/html/visforms.php
2. components/com_visforms/controllers/visformsdata.php
Bitte jeweils zuerst eine Sicherungskopie dieser Dateien anlegen.
Bei 1.
Hier die Zeile
Code:
$placeholder = VisformsPlaceholderEntry::getInstance($pParams, $field->dbValue, $field->typefield, $field);
ersetzen mit
Code:
$placeholder = VisformsPlaceholderEntry::getInstance($pParams, ((!empty($field->isDisabled)) ? '' : $field->dbValue), $field->typefield, $field);
In Visform 3.13.15 ist das die Zeile 596 in Visforms 3.14.4 die Zeile 602
Bei 2.
Hier die Zeile 224 (Visforms 3.13.15 und 3.14.4)
Code:
$pdfRawData->$fieldName = $field->dbValue;
mit folgendem Code ersetzen
Code:
if (!empty($field->isDisabled)) {
$pdfRawData->$fieldName = '';
}
else {
$pdfRawData->$fieldName = $field->dbValue;
}
Gruß,
Aicha