如何从SharePoint 2013套件栏中删除默认链接并添加我自己的链接

时间:2013-02-06 09:35:53

标签: html5 sharepoint sharepoint-designer sharepoint-2013

我需要删除或隐藏Suite Bar中显示的默认链接,例如NewsFeed,SkyDrive,Sites等。我想添加自己的链接并将此部分用作我的菜单。

因此,在添加时,我希望内容编辑者可以轻松配置项目。他们可以编辑需要显示的链接并控制订单。没有链接的硬编码。

如果有人可以提供帮助。

Suite Bar Customisation

此致 navish

3 个答案:

答案 0 :(得分:2)

这可以通过显示这些链接的代理控件来完成。以下链接将有所帮助

http://www.learningsharepoint.com/2013/02/10/addremove-links-in-top-suitebar-skydrivesitesnewsfeed-in-sharepoint-2013/

答案 1 :(得分:2)

您应该创建一个以SuiteLinksDelegate ControlId为目标的自定义委托控件。 将其添加到Farm-scoped功能,以使整个服务器场中的自定义委托控件处于活动状态。 如果您不喜欢硬编码链接,则可以针对存储可配置链接的自定义SharePoint列表进行编程。

要添加自定义链接,您可以使用此处描述的方法:http://zimmergren.net/technical/sp-2013-some-new-delegatecontrol-additions-to-the-sharepoint-2013-master-pages

如果您需要删除某些内置链接,同时保留其他链接(我有此要求),您可以使用以下代码:

    public partial class SuiteLinksDelegate : MySuiteLinksUserControl
    {
        protected override void Render(HtmlTextWriter writer)
        {
            // save for later
            var httpwriter = (writer.InnerWriter as HttpWriter);

            // hijack the innerwriter
            var sb = new StringBuilder();
            var sw = new StringWriter(sb);
            var tw = new HtmlTextWriter(sw);
            writer.InnerWriter = tw;

            // call base
            base.Render(writer);

            // get the html
            var currentHtml = sb.ToString();
            XElement element = XElement.Parse(currentHtml);

            // remove SkyDrive link
            var suiteLinkNodes = element.Elements("li").ToArray();
            var remainingNodes = suiteLinkNodes.Where(node => !(node.ToString().Contains("ShellDocuments")));
            element.ReplaceNodes(remainingNodes);

            var modifiedHTML = element.ToString();

            // set back the old innerwriter
            writer.InnerWriter = httpwriter;

            // write delegate control html
            httpwriter.Write(modifiedHTML);
        }
    }

答案 2 :(得分:1)

您可以使用javascript方法隐藏此链接,如下面的链接

所述

http://www.tuyrcorp.com/sharepoint-2013-top-links-name-id-and-how-to-hide-them/

你也可以使用同样的javascript在下拉列表中添加新项目

希望这有帮助

由于