Many times, members do not need to select a top level category on their profile page because there is only one option available. To avoid having the members select this every time they update their member's profile page, we can do the following:
1. On your backend, after first creating your Main Category, there are 2 ways of knowing the Category ID which we will need later on. The easiest way is to go to your Toolbox -> Main Categories and on the Members column simply HOVER over the number of members of that particular Top Level category. Your browser at the bottom will show the number assigned to that particular Category.
In the image below you can see am hovering over the number 0 and at the bottom a URL appears with the variable profession equal to 38. In my case, this 38 is the number I would need for the following steps. In your case, the number will be different.
The other way is by clicking on your MySQL button (Top right corner of your Backend site) and when the database appears, select your corresponding database and look for the list_professions table on it. On the list_professions table, you will see the number of your category on the profession_id column.
2. With the number now written down or memorized, we will now go to your Form Manager. So on your backend, click on Toolbox -> Form Manager and select the Listing - Contact form.
3. Once on the Listing - Contact form, if you have the "Best Describes you" field you will need to change it to the image below. If you do not have it, you will need to create a new field like the image below:
4. The image above has the following selected:
- Field Label - This is where the ID that you wrote down will go. This will be the default value. The default value is only available on the Field Label if the Field Type is Hidden. For any other type the default value goes in the Default Value field.
- Variable Name - This needs to be set to profession_id which is the variable used by the system for the Top Level categories.
- Field Type - This needs to be set to Hidden in under to avoid users editing this value.
- Required - This needs to be set to N to avoid having any variable issues in the future (eg: Members trying to save their profile and not being able to).
- Display - This needs to be set to N to avoid having members seeing this option in their profile.
5. Save the form and you now have a Member's Profile form that automatically sets the Top Level category for your members.
BONUS: For members that already exist on your site, the solution is to run the following MySQL Query on your site, changing the TopLevelCategory on the query below for the number you wrote:
UPDATE `users_data` SET `profession_id` = 'TopLevelCategory';
So in my case it would be like this:
UPDATE `users_data` SET `profession_id` = '38';