Ausblenden des “Recent”-Bereichs in SharePoint 2013

In SharePoint 2013 existiert in der aktuellen Navigation (auch “Schnellstartleiste” oder “Quicklaunch”) ein Bereich namens “Recent”, in dem sämtliche vom Benutzer angelegte Listen und Bibliothken verlinkt werden.
image

Wer allerdings Herr über die Navigationsleiste sein und selbst bestimmen möchte, welche Links angezeigt werden, hat schlechte Karten: Der Recent-Bereich lässt sich zwar mit einem Klick aus der Navigation entfernen, taucht jedoch erneut auf, sobald eine weitere Liste/Bibliothek erstellt wird. Um dies zu umgehen und den Bereich dauerhaft zu auszublenden bzw. zu entfernen gibt es zwei Möglichkeiten:

1. Ausblenden mittels jQuery

  • jQuery im header der masterpage referenzieren:
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  • Anschließend innerhalb des Tags <SharePoint:ScriptBlock runat="server"> die folgenden jQuery Funktion einfügen:
    $(document).ready(function() 
    { var recentLi= $("#ctl00_PlaceHolderLeftNavBar_QuickLaunchNavigationManager div ul li").filter(function(index)
    { return $("span span", this)[0].innerText == "Recent"; });
    if (recentLi != undefined) { recentLi.hide(); } });

Anschließend ist der komplette “Recent”-Bereich (inkl. der enthaltenen Elemente) nicht mehr sichtbar.
image

Hierbei ist jedoch anzumerken, dass es sich lediglich um das Ausblenden bzw. Verstecken des Bereichs handelt. Die Navigationspunkte sind weiterhin im Quicklaunch Property des SPNavigation Objektes enthalten. Sollen diese gelöscht werden, ist folgende Methode zu empfehlen.

2. Programmatisch durch Entfernen des Navigationspunktes

  • In Visual Studio ein Neues leeres SP2013 Projekt erzeugen, ein Feature hinzufügen (ggf. umbenennen) und dafür einen Feature-Receiver erzeugen:
    imageimage
  • Im Code des Feature-Receivers die “FeatureActivated” Methode auskommentieren und dort Funktion folgenden Code einfügen:

          SPWeb web = properties.Feature.Parent as SPWeb;
          var title = SPUtility.GetLocalizedString("$Resources:core,category_Recent", null, web.Language);
          SPNavigationNodeCollection nodes = web.Navigation.QuickLaunch;
          foreach (SPNavigationNode node in nodes)
          {
            if (node.Title.Equals(title))
            {
              node.Delete();
              break;
            }
          }
  • Anschließend die Solution veröffentlichen, deployen, das Feature aktivieren und der Recent-Bereich wird aus der Quicklaunch entfernt.
    image

     

Kommentare sind geschlossen