User data NOT updated in Joomla core, on user edits

jasmin

New Member
Is this a possible bug in Fabrik?

My users register personal user data like: email, name etc via a Fabrik form, which successfully creates the Joomla core user data, like email, name etc.

When the user is logged in, they can change their user data by editing the Fabrik form and it successfully changes user data in the Fabrik database but is NOT updating the Joomla core user data, which is the problem.

In the Fabrik form settings: Plug-ins/juser/Sync - All options are set to [Yes]! I believe "Sync on edit" is the most relevant setting here for this purpose, but it doesn't seem to function.

Ref 1: /forums/index.php?wiki/joomla-user-form-plugin/

Sync on Edit - If set to 'yes' then upon saving an exisitng record, the Joomla user's details are syncronised with the form's data.

Ref 2: /forums/index.php?wiki/users-editing-own-records/

Ref 3: joomlashack_com/blog/joomla/fabrik-user-registration-form/

Am I missing something, or could this be a miss or bug in Fabrik?

Versions are Joomla 3.9.6, Fabrik 3.9 & PHP 7.1
 
Last edited:
I assume you did not configurate correctly. You need an element to store the J! user id which is NOT the Fabrik record id (type field or dbjoin, NOT user)

Gesendet von meinem SM-G930F mit Tapatalk
 
I assume you did not configurate correctly. You need an element to store the J! user id which is NOT the Fabrik record id (type field or dbjoin, NOT user)

Gesendet von meinem SM-G930F mit Tapatalk

Are you saying that the "list - user plugin" doesn't bridge between Joomla and the Fabrik form? We have to create a DBJoin in order have Joomla user control on the form?


Sorry, for intruding on your thread, Jasmin.
 
no, I say in the FORM with a jUser plugin you must use an extra element to store the Joomla userId, which can be just a simple field element if you only want to handle the userId or may be a dbjoin to #_users if you want to display user name or email or J! full name.
You must select this element in the form jUser plugin settings (not the id element as many people are trying to do; )

Gesendet von meinem SM-G930F mit Tapatalk
 
no, I say in the FORM with a jUser plugin you must use an extra element to store the Joomla userId, which can be just a simple field element if you only want to handle the userId or may be a dbjoin to #_users if you want to display user name or email or J! full name.
You must select this element in the form jUser plugin settings (not the id element as many people are trying to do; )

Gesendet von meinem SM-G930F mit Tapatalk

I tried setting it up and so far, it seems to work great. Right now I have the J!User field hidden, but would've like it to not give it a dropdown and to be able to make it readonly on the form, especially since only registered users can use the form anyways.

I also tried the form J!User plugin, but realize that it's really for something else and wasn't necessary.

Thank for the info Troester.
 
I assume you did not configurate correctly. You need an element to store the J! user id which is NOT the Fabrik record id (type field or dbjoin, NOT user)

Gesendet von meinem SM-G930F mit Tapatalk

This is how I have done it... (Also see my attached images 1 & 2 below). I followed the 3rd image, which is the instructions from the JoomlaShack link...

1. Created a Fabrik User ID called id.
2. Then set that element id in the FORM / Plug-ins /Binds data... to "User ID field"

This setup DOES create a Joomla Core user aswell, BUT when they are logged in via Fabrik form and the user changes/edits their details, that is then NOT edited/changed in core Joomla users contact data, like email, name etc.

Fabrik Element User ID.PNG Fabrik - Binds data to a Joomla user account.PNG
09_four_new_fields_listed.png
 
Last edited:
@jasmin:

As per troester's posts, you must not use the "id" field in your "registration" table for the Joomla User ID. As "internalid", it is an auto-incremental ID for this table only.

Add a new element to the "registration" table (name it e.g. "user_id") and bind this to the Joomla User ID.
Again, as troester suggested, it can be a simple integer field or use the "databasejoin" element, depending on what you want to display.
 
We are in need of some funding.
More details.

Thank you.

Members online

No members online now.
Back
Top