Joomla 5 Notice

We are pleased to announce that as of January 29, 2024, all of our Joomla extensions are compatible with Joomla 5.

For all who are still updateing from Joomla 3 to Joomla 4: Joomla 4 Migration instructions are available here:

There is now a separate Documentation for Visforms for Joomla 4 and for Visforms for Joomla 5!

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
2 years 8 months 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.1.2 / Visforms+Subscription 5.12 / PHP 8.2)

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

More
2 years 8 months ago #7994 by MaliRaj
Perfekt! Und schon funktioniert es wie gewohnt. Alles i.O.
Dankeschön.

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

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

Moderators: Administrator AVAdministrator IV
Powered by Kunena Forum