Here is what you have to do:
1. Extend the
XenForo_ControllerPublic_Account class using Code Event Listeners. You can read more about extending XenForo classes here
https://xenforo.com/community/threa...nsert-tabs-in-profile-page-using-hooks.21289/.
Although this uses template hooks. I would advise you not to use that and instead you should use Template modifications.
2. Add a custom method in your extended class with a signature like
Code:
public function actionCustomField()
Now try loading
http://yourxfinstall.com/account/custom-field
If you see default XenForo page loaded with an error in between which indicates you that you need to return something then you are on the right track. You would need to return a response view from the function that you just created. You can read the
XenForo_ControllerPublic_Account file to find out how other pages work.
3. You'll need to create a new template in XenForo Admin area. You can do that by going on the page which lists all the templates in Admin area and clicking the "Create a template" button there. You need to return this template from the function wrapped in a
responseView method from the function you just created in the previous step.
4. Add Template modifications for public facing templates. You'd can do that from
http://yourxfinstall.com/admin.php?template-modifications/
You need to add template modifications to the following templates:
account_wrapper - To add a link to your new page in the sidebar.
navigation_visitor_tab - To add a link to the popup when you hover over your username.
I think that should be it for your needs and you can figure the rest out once you get the basic idea of XF Structure.