Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I'm try to customise the links shown on My Site using a stapled feature that runs when the site is created. The links i'm trying to change are the top two in the quick launch, but i can't work out where they're coming from.

The master page is showing the links using the following control <SharePoint:AspMenu id="QuickLaunchMenu" DataSourceId="QuickLaunchSiteMap"...

But the following code only pulls out the quick launch links starting at the second header.

foreach (SPNavigationNode node in web.Navigation.QuickLaunch.Parent.Children)
{
    foreach (SPNavigationNode subnode in node.Children)
    {
        html.InnerText += "<p>" + subnode.Title + ": " + subnode.Url + "</p>";
    }
    html.InnerText += "<p>" + node.Title + ": " + node.Url + "</p>";
}

what i'm trying to change is the top two links in this section:

My Profile (change title to 'edit my profile, and the url of this to the edit profile page)
Details (delete this one)
Links
Colleagues
Memberships

share|improve this question

1 Answer 1

There are some other controls in play for those pages so as you have found, these links are not in the QuickLanch menu. It sounds like your best bet would be to remove the control and replace it with your own.

With that said, I would be careful about the types of customizations you do to the MySites at this point since it can complicate an upgrade to 2010.

A second option that wouldn't impact an upgrade is to manipulate the rendered HTML with jQuery. While I haven't done it to solve this particular problem, I have for other areas on the MySites/MyProfile sites. You could create a script in a hidden web part that selects those nodes and replaces the HTML.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.