0

I created top navigation using Metadata term set. I have full control on this site. Why I can not see the link "Edit links" for quick edit navigation terms? What permission is responsible for adding this link to the page?

If I choose "Structural Navigation" in Navigation Settings, I see "EDIT LINKS", but with "Managed Navigation" it does not work.

The main problem is that our main site uses the same navigation, but there "Edit links" is visible for all users, even with viewing rights. Now I hid this link with css, but some users can open develop console and disable my css. I have to find a way to prevent it.

  • Maybe it can help someone, but this is not the solution to the whole problem. I added the following script to the master-page: (function fixEditLink() { var a = document.getElementById("DeltaTopNavigation").getElementsByClassName("ms-listMenu-editLink"); if (a.length == 1) { a[0].parentNode.removeChild(a[0]); } })() – Денис Дягилев Feb 15 '18 at 15:05
1

Edit links has lot of rules. please check below blog for more info. http://www.sharepointdiary.com/2014/09/edit-links-missing-in-sharepoint-2013-navigation.html

  • Thank you! I have read many similar articles, but I use "Managed Navigation" with terms( But now I have a real solution =) – Денис Дягилев Feb 16 '18 at 8:39
1

I found solution!

  1. Open master-page (How to check master-page filename: {site url}/_api/web?$select=CustomMasterUrl,MasterUrl)
  2. Find:

                        <asp:ContentPlaceHolder id="PlaceHolderTopNavBar" runat="server">
                        <SharePoint:AspMenu
                            ID="TopNavigationMenu"
                            Runat="server"
                            EnableViewState="false"
                            DataSourceID="topSiteMap"
                            AccessKey="<%$Resources:wss,navigation_accesskey%>"
                            UseSimpleRendering="true"
                            UseSeparateCss="false"
                            Orientation="Horizontal"
                            StaticDisplayLevels="2"
                            AdjustForShowStartingNode="true"
                            MaximumDynamicDisplayLevels="2"
                            SkipLinkText="" />
                    </asp:ContentPlaceHolder>
    
  3. Add Editable="false" for hidding Edit Links or Editable="true" for showing

                        <asp:ContentPlaceHolder id="PlaceHolderTopNavBar" runat="server">
                        <SharePoint:AspMenu
                            ID="TopNavigationMenu"
                            Runat="server"
                            EnableViewState="false"
                            Editable="false"
                            DataSourceID="topSiteMap"
                            AccessKey="<%$Resources:wss,navigation_accesskey%>"
                            UseSimpleRendering="true"
                            UseSeparateCss="false"
                            Orientation="Horizontal"
                            StaticDisplayLevels="2"
                            AdjustForShowStartingNode="true"
                            MaximumDynamicDisplayLevels="2"
                            SkipLinkText="" />
                    </asp:ContentPlaceHolder>
    

Don't forget to publish your master-page! So, now you can add/remove "Edit Links" without css(css!)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.