Joomla 6 Mitteilung

Wir freuen uns mitteilen zu können, dass seit dem 14. Oktober 2025 alle unsere Joomla Erweiterungen mit Joomla 6 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 eigenständige Dokumentationen Visforms Joomla 4, Visforms Joomla 5 und Visforms Joomla 6.

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.

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

ListBoxSQL: SQL im Form Edit ausführen: NEIN führt zu Fehlern

Mehr
1 Woche 3 Tage her - 1 Woche 3 Tage her #12448 von MaliRaj
Hallo Aicha & Ingmar,
ein "merkwürdiger" Fehler macht mir Kopfzerbrechen. Ich versuche zu beschreiben, unter welchen Umständen dieser Aufritt und wie sich das im Formular "bemerkbar" macht. Ich habe einige Zeit dafür gebraucht, kann ihn nun aber sauber reproduzieren:
- ListboxSQL-Feld mit Option:
- Als Datenliste anzeigen: NEIN
- Mehrfachselektion erlauben: JA
- Feld verstecken, wenn Liste leer ist: JA
- Pflichtfeld: NEIN
- Reload erlauben:JA
- Bei Änderung von nachladen: anderes Select-Feld
- SQL-Select-Statement, welches bei mir 1 oder 2 Zeilen als Ergebnis hat
- Einzige Option vorauswählen: JA
- Bei Vorauswahl verstecken: NEIN
- SQL im Form Edit ausführen: NEIN (das ist der eigentlich entscheidende Punkt)
- Formulareinstellung: Edit-Mail senden beide(!) JA, Admin + Benutzermail müssen aktiviert sein
- In der Edit-View einen gespeicherten Datensatz (bei dem dieses Feld gefüllt ist) zum Bearbeiten aufrufen und wieder speichern, mit ohne ohne Änderung, das ist egal.

Dann fehlen nach dem "Abschicken" des Formulars bei einem so konfigurierten SQL-Feld im Feldobjekt-Optionen-Array ($field->opts) einige Keys, und zwar:
  • redirecturl,
  • mail,
  • mailcc,
  • mailbcc
  • labelclass 
Das führt in der Vfcustommailadr.php bei:
Code:
            if (in_array($field->typefield, array('multicheckbox', 'select', 'radio', 'multicheckboxsql', 'selectsql', 'radiosql')) && is_string($field->dbValue)) {                 $dbValues = HTMLHelper::_('visformsselect.explodeMsDbValue', $field->dbValue);                 foreach ($field->opts as $option) {                     if (is_array($dbValues) && in_array($option['value'], $dbValues)) {                         $this->addMailAddress($option['mail'], 'newmailto');                         $this->addMailAddress($option['mailcc'], 'newmailcc');                         $this->addMailAddress($option['mailbcc'], 'newmailbcc');                     }                 }             }
wegen fehlendem 'mail' erst zu einer Warnung im Debugger (nicht so relevant):
Code:
Exception has occurred: Warning Undefined array key "mail"
, und im späteren Verarbeitungsverlauf zu unterschiedlichen Fehlern und Effekten: unter anderem z.Bsp: 
  • JERROR_LAYOUT_MIS_TYPED_ADDRESS

Code:
0 mb_trim(): Argument #1 ($string) must be of type string, null given, called in C:\xampp\kurkinder.de\libraries\vendor\joomla\string\src\StringHelper.php on line 661

Code:
1()JROOT\libraries\vendor\symfony\polyfill-mbstring\bootstrap80.php:144 2mb_trim()JROOT\libraries\vendor\joomla\string\src\StringHelper.php:661 3Joomla\String\StringHelper::trim()JROOT\plugins\visforms\vfcustommailadr\src\Extension\Vfcustommailadr.php:108 4Visolutions\Plugin\Visforms\Vfcustommailadr\Extension\Vfcustommailadr->addMailAddress()JROOT\plugins\visforms\vfcustommailadr\src\Extension\Vfcustommailadr.php:64 5Visolutions\Plugin\Visforms\Vfcustommailadr\Extension\Vfcustommailadr->onVisformsEmailPrepare()JROOT\libraries\vendor\joomla\event\src\Dispatcher.php:454 6Joomla\Event\Dispatcher->dispatch()JROOT\components\com_visforms\src\Model\Helper\Mail\BaseMailHelper.php:174 7Visolutions\Component\Visforms\Site\Model\Helper\Mail\BaseMailHelper->sendAdminMail()JROOT\components\com_visforms\src\Model\EditModel.php:340 8Visolutions\Component\Visforms\Site\Model\EditModel->saveEditData()JROOT\components\com_visforms\src\Controller\EditController.php:265 9Visolutions\Component\Visforms\Site\Controller\EditController->saveedit()JROOT\libraries\src\MVC\Controller\BaseController.php:730 10Joomla\CMS\MVC\Controller\BaseController->execute()JROOT\libraries\src\Dispatcher\ComponentDispatcher.php:143 11Joomla\CMS\Dispatcher\ComponentDispatcher->dispatch()JROOT\libraries\src\Component\ComponentHelper.php:361 12Joomla\CMS\Component\ComponentHelper::renderComponent()JROOT\libraries\src\Application\SiteApplication.php:218 13Joomla\CMS\Application\SiteApplication->dispatch()JROOT\libraries\src\Application\SiteApplication.php:272 14Joomla\CMS\Application\SiteApplication->doExecute()JROOT\libraries\src\Application\CMSApplication.php:320 15Joomla\CMS\Application\CMSApplication->execute()JROOT\includes\app.php:58 16require_once()JROOT\index.php:51
Ob dieser Fehler auch schon im Formular auftritt, oder erst beim Edit, muss ich noch testen.
Nachtrag: Im Formular ist alles i.O.; da existieren alle Keys. Betrifft also nur Edit.

Freundliche Grüße aus PM
Heinz
(Joomla 6.2.1 / Visforms+Subscription 6.2.0 / PHP 8.3)
Letzte Änderung: 1 Woche 3 Tage her von MaliRaj. Begründung: Nachtrag

Mehr
1 Woche 2 Tage her #12449 von Administrator AV
Hallo Heinz,

danke für deine Fehleranalyse.
Wir sehen das als einen Bug in Visforms an und werden das Verhalten anpassen.
Ich habe dazu einen Issue zur Entwicklung in der Bug-Liste angelegt:
Issue [VF-1792] : ListBoxSQL: SQL im Form Edit ausführen: NEIN führt zu Fehlern

Wenn wir den Bugfix releasen, werden Sie explizit über das Release hier im Thema informiert.
Eventuell gibt es für diesen Bug sehr kurzfristig auch einen Datei-basierten Hot-Fix.
Vielen Dank nochmal für Ihren Hinweis.

Liebe Grüße,
Aicha

:idea: I recommend you the new and up-to-date documentation for Joomla 6:
docs.joomla-6.visforms.vi-solutions.de/en/docs/
Please ask only 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 6:
docs.joomla-6.visforms.vi-solutions.de/docs/
Bitte immer nur 1 Frage pro Thema stellen :-).
Folgende Benutzer bedankten sich: MaliRaj

Mehr
16 Stunden 3 Minuten her - 15 Stunden 24 Minuten her #12465 von Administrator AV
Hallo Heinz,

ich habe mir das von dir beschriebene Problem angesehen.

Es gibt einen Hot-Fix zur Behebung des Fehlers für:
Joomla 6 und die aktuelle Visforms Version 6.2.0

Bitte die alten Dateien zuvor sichern, falls es unerwartet zu Problemen kommen sollte.

Die folgenden Dateien herunterladen:
vi-solutions.de/forum-bugfixes/SelectsqlField.php_6.2.1.txt
vi-solutions.de/forum-bugfixes/Vfcustommailadr.php_6.2.1.txt
vi-solutions.de/forum-bugfixes/Vfcustomredirects.php_6.2.1.txt

Die heruntergeladenen Dateien umbenennen in:
- SelectsqlField.php
- Vfcustommailadr.php
- Vfcustomredirects.php

Mit den heruntergeladenen und umbenannten Dateien die folgenden Dateien auf dem Server überschreiben:
- components/com_visforms/src/Lib/Field/SelectsqlField.php
- plugins/visforms/vfcustommailadr/src/Extension/Vfcustommailadr.php
- plugins/visforms/vfcustomredirects/src/Extension/Vfcustomredirects.php

Zum Hintergrund:
Der betroffene Code hat sich zwischen Visforms 5 und 6 nicht geändert.
Ich kann also nur folgern, dass das Problem schon immer vorhanden war.
Es hat aber auf älteren PHP und Joomla Versionen wohl nur Deprecated Warnings erzeugt, während es auf Joomla 6 und PHP 8.4 nun zu echten Fehlern führt.

Vielen Dank noch einmal für deinen Hinweis!

Liebe Grüße,
Aicha

Noch ein Nachtrag:
Wenn im Form Edit, das SQL nicht ausgeführt wird, dann werden die Optionen aus den in der Datenbank gespeicherten Werten erzeugt.
Das sind allein die Optionswerte, der beim letzten Speichern ausgewählten Optionen.
Alle anderen Informationen, die in der Formularansicht über das SQL erzeugt werden, existieren nicht mehr.
D.h. redirecturl, mail, mailcc, mailbcc und labelclass sind immer leer.
Und der gespeicherte Wert wird als Optionswert und als Optionslabel verwendet.
 

:idea: I recommend you the new and up-to-date documentation for Joomla 6:
docs.joomla-6.visforms.vi-solutions.de/en/docs/
Please ask only 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 6:
docs.joomla-6.visforms.vi-solutions.de/docs/
Bitte immer nur 1 Frage pro Thema stellen :-).
Letzte Änderung: 15 Stunden 24 Minuten her von Administrator AV.
Folgende Benutzer bedankten sich: MaliRaj

Mehr
4 Stunden 42 Minuten her #12468 von MaliRaj
Perfekt, vielen Dank. Funktioniert bisher fehlerfrei.

Freundliche Grüße aus PM
Heinz
(Joomla 6.2.1 / Visforms+Subscription 6.2.0 / PHP 8.3)

Moderatoren: Administrator AVAdministrator IV
Powered by Kunena Forum