Hello,
I am using ChronoForms 8.0.52 on Joomla 6.1.0.
I created a registration/intake form with these fields:{name}{username}{email}{password}
In the Submit event I added the Joomla > Save User action and configured:Account Name: {name}Account Username: {username}Account Password: {password}Account Email: {email}Account Group: RegisteredAccount Status: Activated & Enabled
When I submit the form, I get this error:Class "JUserHelper" not found
Is the Save User action compatible with Joomla 6?Is this related to the free/premium version, or is this a Joomla 6 compatibility issue?
Thank you
Mario
Hi Mario
It may be a Joomla 6 compatibility issue, if you are willing to try a fix:
open this file:
JOOMLA/administrator/components/com_chronoforms8/pages/chronoforms/actions/joomla_user/output.php
Change line 52 from:
$userData['password'] = JUserHelper::hashPassword($userData['password']);
to:
$userData['password'] = \Joomla\CMS\User\UserHelper::hashPassword($userData['password']);
Then let me know how it works for you.
Hi Max,
Thank you, your fix solved the Joomla 6 error.
After changing:
$userData['password'] = JUserHelper::hashPassword($userData['password']);
to:
$userData['password'] = \Joomla\CMS\User\UserHelper::hashPassword($userData['password']);
the “Class JUserHelper not found” error disappeared.
At first the new Joomla user was created with the literal name {name}. I then changed the Save User fields from:
{name}
{username}
{password}
{email}
to:
{data:name}
{data:username}
{data:password}
{data:email}
After that, the Joomla user was created correctly.
So the fix works for me on Joomla 6, and the correct syntax in the Save User action seems to be {data:fieldname}.
Thank you for your help.
Hi Mario
Thanks for the confirmation! 🙂
yes, {data:field_name} is the correct syntax to get a form field value.
