THere's actually a fairly new plugin that you might want to look at called Joom Profile. Instead of a full community component, it's just made for expanding user profiles. It also gives you the flexibility to add more fields and override the output. I haven't really played with it much but I have heard good things about it.
The only way to achieve this without using a 3rd party extension would be to either write your own plugin or start editing the profile plugin that comes with Joomla. Editing core file is simply a no go area so I won't even start on that.
I would strongly suggest you use a small and simple 3rd party plugin. Here's a plugin that does just that for Joomla 3.4, ...
I've previously used a plugin called Easy Profile. In addition to supporting Avatars, it has several other improvements over the built-in Joomla user profile system. The free version is somewhat limited, but as far as I remember it still supports avatars.
One of the functions I found usefull was the option to set a custom redirect for the first login after ...
This is how Joomla user profile plugins does
// Sanitize the date
$data['profile']['dob'] = $this->_date;
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->where($db->quoteName('user_id') . ' = ' . (int) $userId)
You can modify this code from Joomla Docs to fit your needs, depending on what you're trying to achieve:
$db = JFactory::getDbo();
$query = $db->getQuery(true);
// Fields to update.
$fields = array(
$db->quoteName('profile_value') . ' = ' . $db->quote('Updating custom message for user 1001.'),
$db->quoteName('ordering') . ' = 2'
This can be possible with some custom code which can be added in the article itself.
Since creating different articles for different user is not a feasible solution.
There is a plugin which allows you to add custom code anywhere you want.
Using this plugin you can add code in article which fetches the user specific details and display them.
If you've got documents you want to show to each user, you can use RS Files, which lets you set up a briefcase to each user. But as far as showing them data, you might want to use community builder. I believe you can make custom fields that do NOT show to other users.
You could also try JoomProfile. I suspect you could pay the dev to create a module that ...
If you don't need to use the username for something else (which might require coding that you're trying to avoid), I know that RSForms has global placeholders for data it automatically saves for the form. That includes username if the user was logged in.
RSForms Pro also has a set of global placeholders (see https://www.rsjoomla.com/support/documentation/...
From my experiences, extending from an available component can be difficult to maintain in the long run. And extending from the component could be a hassle as the coding style are different and definitely some sort of customization would be needed to be done by your side.
What I am trying to say is, if the client is paying good why not just could a custom ...
This can be achieved using custom fields now-a-days.
My previous answer in case anyone finds that useful.
The above is probably more relevant this is just here for reference.
Custom Fields (above answer) would be my preference today.
There is a plugin called User Profile. Just go to Plugins and search for it. It has quite a few additional fields built ...
I created a custom profile component a while back. What you'd probably need is a database table mapping a user ID to a user picture URL, then create a helper file to retrieve the image wherever you need it.
To upload the image, I used the Joomla image manager I think... so you could just provide a link which opens the manager, maybe provide it with a ...
There are two mistakes in your code.
1) The following piece of code is broken, I guess two lines got overwritten.
$form->setFieldAttribute('dob', 'description', $form->setFieldAttribute('postal_code', 'description', 'PLG_USER_PROFILE_EI_FILL_FIELD_DESC_SITE', 'profile_ei');
This should be
You only need to disable the two factor authentication plugin from Plugin Manager > (search for) Two Factor > Disable the Two factor Authentication plugin which is enabled. That should be it!
If you DO NOT have access to the Administrator / Administration panel of the website because you have enabled 2FA and you know you can't login, you'll need to disable ...
If you have the PHP proficiency to write a simple plugin, there is a tutorial about Creating a profile plugin that would allow that secret data to be stored indirectly with the user profile itself. From there, it would appear on the Profile page, as well as being available to 3rd party extensions that allow PHP code within an article.
As answered by Joomla Dév Team on Github, showon is not working on XML files related to user profile, because they don't use a regular JForm.
As far as I know, it seems that showon is not working at all on front-end.
I'm not dead sure that this will work as i don't have such a user plugin installed to try, but try adding this function to your plugin. It's intent is to check if the user is in a usergroup of your choosing, and if not, exit and not prepare the form.
public function onContentPrepareForm($form, $data)
$groups = $data->groups->getProperties();
You should have a read through the docs there are lots of useful tips there, maybe the following is what you need?
To get this object for the current user, use the following member function of JFactory:
$user = JFactory::getUser();
Or, to get information about any other registered user you can call the function with a user 'id', e.g. for user '99';
Ok, I've written a small plugin that does what you want without having to make any core hacks.
You can have a look at the source code here:
Or you can download the plugin ready to install from here:
Just a small explanation:
I've discovered that both the Google and YubiKey authentication plugins have an option to select using 2FA for either frontend, backend or both. By setting both of these to 'backend only' hides the secret key field at login and all 2FA related fields in the user profile update screen. 2FA is still enabled when trying to access the backend.
Finally got a workaround.
$obj = new UsersModelRegistration();
$form = $obj->getForm()->getXML();
This gives the complete form which includes the core registration form with all other custom profiles.
You should check Joomla Plugins and Events.
There are such events like onContentPrepareForm($form, $data) and (may be you'll want to use onContentPrepareData($context, $data) but you should be fine with the first one) where you can get $data and $form and modify the form in there with your own XML, like:
/** @var JForm $form */
you shouldn't edit core files, but use the nice feature of template override within joomla. Help e.g from https://docs.joomla.org/Understanding_Output_Overrides and many other documents.
In your case: Copy the file com_users/views/registration/temp/default.php to templates/[your template_name]/html/com_users/default.php.
Afterwards, you can edit this new ...
It's very simple:
you just need to be sure that you have different Access Level for those groups, if you don't - go and make sure about it. (Manage Users - Access Levels)
Then go to your plugins settins and choose required Access Level for each plugin.
Easy Profile will do most of the heavy lifting for you (including search) in this scenario.
This extension is extremely versatile and fairly easy to customise to your requirements. For example, you can specify custom SQL WHERE details in "Easy Profile - User List" modules to limit your search based on the values of standard or custom fields.
As I thought, the whole profile page is a core K2 functionality, no way to directly disable it.
So the only solution is to remove any link to these pages with overrides to either modules or K2 content.
Still the pages are active and reachable. In this case the best thing to do is to create a redirect rule, I did mine in .htaccess, but please che my update ...
The group refers to a named fieldset element inside a form definition. Find the field you are trying to edit into the form definition and get the name of its parent fieldset element and use that for the group.
I will try to answer this, more in a general sense, not specific to easy-profile.
The code responsible to sending the email is located in the registration model. You can hack that, but it would just be the wrong approach. In order to hack it you need to change two things:
Language string: COM_USERS_EMAIL_ACTIVATE_WITH_ADMIN_ACTIVATION_BODY to include a new ...