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?