Joomla 6 Notice

We are pleased to announce that all our Joomla extensions have been compatible with Joomla 6 since October 14th, 2025.

For those currently upgrading from Joomla 3 to 4: Instructions for Joomla 4 migration can be found here:

There are standalone documentations Visforms Joomla 4, Visforms Joomla 5 and Visforms Joomla 6.

Forum

Visforms Subscription user can ask questions in our forum. Please log in with the relevant user first.
Everybody can access the forum for reading.

Please only ask 1 question per topic.

Important information for almost every question:
V1: Which Visforms version is running?
V2: Which Joomla version is running?
V3: Which PHP version is running?

SELECTSQL-Platzhalter in Formularmails in J4 Version fehlerhaft

More
4 years 1 month ago #7976 by MaliRaj
Hallo VisformsTeam ... nach weiteren Tests hier nun genauere Informationen zu obigem Fehler:

Die Nutzung von [PLATZHALTERN] oder ${PLATZHALTERN} im Email-Betreff und im Mail-Body von Ergebnis- und Benutzermails war unter J3 kein Problem, unabhängig vom Typ des Formularfeldes.
In J4 kommt es beim Senden eines Formulars zu einem Ersetzungsfehler bei den SELECTSQL-Platzhaltern, wenn irgendeine Mail gesendet werden soll und in dort ein [Platzhalter] für ein SELECTSQL-Feld genutzt wird. Sowohl in der FormView als auch in der EditView tritt dieser Fehler auf, egal ob der Platzhalter im Body, Betreff oder Abdendernamen enthalten ist.
Es kommt zu folgendem Fehler:

implode(): Argument #2 ($array) must be of type ?array, bool given

Hier der aufschlussreche stack trace:
2022-03-04T13:53:16+00:00 CRITICAL error Uncaught Throwable of type TypeError thrown with message "implode(): Argument #2 ($array) must be of type ?array, bool given". Stack trace:
#0 /website/administrator/components/com_visforms/lib/placeholderentry/selectsql.php(42): implode(', ', false)
#1 /website/administrator/components/com_visforms/src/Service/HTML/Visforms.php(561): VisformsPlaceholderEntrySelectsql->getReplaceValue()
#2 /website/libraries/src/HTML/HTMLHelper.php(297): Visolutions\Component\Visforms\Administrator\Service\HTML\Visforms::replacePlaceholder(Object(stdClass), '<p><strong>Hall...')
#3 /website/libraries/src/HTML/HTMLHelper.php(145): Joomla\CMS\HTML\HTMLHelper::call(Array, Array)
#4 /website/components/com_visforms/src/Model/VisformsModel.php(772): Joomla\CMS\HTML\HTMLHelper::_('jhtml.visforms....', Object(stdClass), '<p><strong>Hall...')
#5 /website/components/com_visforms/src/Model/EditModel.php(293): Visolutions\Component\Visforms\Site\Model\VisformsModel->sendReceiptMail(Object(stdClass))
#6 /website/components/com_visforms/src/Controller/EditController.php(272): Visolutions\Component\Visforms\Site\Model\EditModel->saveEditData()
#7 /website/libraries/src/MVC/Controller/BaseController.php(735): Visolutions\Component\Visforms\Site\Controller\EditController->saveedit()
#8 /website/libraries/src/Dispatcher/ComponentDispatcher.php(146): Joomla\CMS\MVC\Controller\BaseController->execute('saveedit')
#9 /website/libraries/src/Component/ComponentHelper.php(389): Joomla\CMS\Dispatcher\ComponentDispatcher->dispatch()
#10 /website/libraries/src/Application/SiteApplication.php(204): Joomla\CMS\Component\ComponentHelper::renderComponent('com_visforms')
#11 /website/libraries/src/Application/SiteApplication.php(243): Joomla\CMS\Application\SiteApplication->dispatch()
#12 /website/libraries/src/Application/CMSApplication.php(278): Joomla\CMS\Application\SiteApplication->doExecute()
#13 /website/includes/app.php(63): Joomla\CMS\Application\CMSApplication->execute()
#14 /website/index.php(32): require_once('/var/www/web557...')
#15 {main}

Der Fehler liegt möglicherweise bei /administrator/components/com_visforms/lib/placeholderentry/selectsql.php(42): implode(', ', false), wo an Stelle des 'false' ein Array erwartet wird. Ich bin leider nicht in der Lage, das selbst zu lösen, da 'false' das Ergebnis einer mir nicht klaren Funktion ist. Könnt ihr helfen?

Freundliche Grüße aus PM
Heinz
(Joomla 5.2.3 / Visforms+Subscription 5.4.1 / PHP 8.2)

More
4 years 1 month ago #7983 by Administrator AV
Hallo Heinz,

danke für deine kontinuierliche Rückmeldung!

Da hat sich in der selectsql.php an zwei Stellen ein Schreibfehler eingeschlichen.

Durch folgende Code-Änderung solltest du den Fehler beheben können.
Diese Änderungen sind Teil des nächsten Release.

administrator/components/com_visforms/lib/placeholderentry/selectsql.php

Zeile 32 und 42:
alt:
return implode(', ', HTMLHelper::_('visformsselect.mapDbValueToOptionLabel', $this->rawData, $this->field->sql));
neu:
return implode(', ', HTMLHelper::_('visformsselect.mapDbValueToSqlOptionLabel', $this->rawData, $this->field->sql));

Also statt mapDbValueToOptionLabel muss es mapDbValueToSqlOptionLabel heißen.
Herzliche 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 :-).
The following user(s) said Thank You: MaliRaj

More
4 years 1 month ago #7994 by MaliRaj
Perfekt! Und schon funktioniert es wie gewohnt. Alles i.O.
Dankeschön.

Freundliche Grüße aus PM
Heinz
(Joomla 5.2.3 / Visforms+Subscription 5.4.1 / PHP 8.2)

More
4 years 5 days ago #8073 by Administrator IV
Hallo Heinz,

der Fehler ist behoben im neusten Release vom 05.04.2022 für Joomla 4:
Visforms 4.1.5
Visforms Subscription 4.1.3

Gruß, Ingmar

: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 :-).
The following user(s) said Thank You: MaliRaj

Moderators: Administrator AVAdministrator IV
Powered by Kunena Forum