SharePoint 2013 Apps: Schnellstartleiste im App Web

Bei der Suche im Web nach einer Möglichkeit die Schnellstartleiste (Quicklaunch) auch im App Web verwenden zu können, bin ich auf viele nicht funktionierende "Lösungen" gestossen. Zumindest bei mir hatte keines der meist identischen Beispiele die erwünschte Wirkung erzielt. Offenbar haben hier viele Blogger ohne zu testen einfach nur voneinander abgeschrieben. Nach ein wenig Probieren habe ich dann aber selbst eine funktionierende Lösung gefunden.

Für das App Web wird standardmäßig die Gestaltungsvorlage (Master Page) app.master verwendet und bei der ist die Schnellstartleiste ausgeblendet. Wenn man diese verwenden möchte, muß man also eine eigene Gestaltungsvorlage verwenden. Wie das geht, habe ich hier beschrieben.

Man sucht jetzt einfach in der eigenen Gestaltungsvorlage nach PlaceHolderLeftNavBar. Standardmäßig ist dieser Platzhalter leer. Den leeren Platzhalter überschreibt man mit folgendem:

<asp:ContentPlaceHolder id="PlaceHolderLeftNavBar" runat="server">
 
<div>
    <asp:SiteMapDataSource SiteMapProvider="SPNavigationProvider"
                           ShowStartingNode="False"
                           id="QuickLaunchSiteMap"
                           StartingNodeUrl="sid:1025"
                           runat="server"/>
    <SharePoint:AspMenu id="V4QuickLaunchMenu"
                        runat="server"
                        EnableViewState="false"
                        DataSourceId="QuickLaunchSiteMap"
                        UseSimpleRendering="true"
                        Orientation="Vertical"
                        StaticDisplayLevels="3"
                        AdjustForShowStartingNode="true"
                        MaximumDynamicDisplayLevels="2"
                        SkipLinkText=""
                        CssClass="s4-ql"/>
  </div>
</asp:ContentPlaceHolder>

Das reicht bereits, um die Schnellstartleiste anzuzeigen. Allerdings gibt es jetzt noch ein Problem: der Inhaltsbereich rutscht jetzt auf manchen Seiten unter die Schnellstartleiste, anstatt rechts daneben angezeigt zu werden. Um das zu beheben, muß man dem <div>, das in der Gestaltungsvorlage direkt darunter notiert ist, einen Abstand per Inline-Style zuweisen:

<div id="contentBox" aria-live="polite" aria-relevant="all" style="margin-left: 250px;">

7 Gedanken zu “SharePoint 2013 Apps: Schnellstartleiste im App Web

  1. Hi Andreas, danke für den hilfreichen Blog-Eintrag. Mich interessiert aber noch folgendes: Wenn ich innerhalb dieser App über Visual Studio eine Liste erstelle, wie kann ich dafür sorgen, dass die Liste in der Quick Launch erscheint? Danke für deine Hilfe

    Gefällt mir

  2. Hi Andi,

    das klappt leider nicht. Das Attribut OnQuickLaunch ist standardmäßig aktiviert wenn ich dem VS-Projekt eine Liste hinzufüge.

    Hier sind die beiden Elements.xml meiner Liste:

    Gibt es ansonsten auch die Möglichkeit die Quick Launch statisch zu erstellen, so dass das Design der Masterpage verwendet wird?

    Danke und Gruß
    spnoob

    Gefällt mir

  3. Also bei mir hat das völlig ausgereicht, d.h. die Liste wird in der QuickLaunch angezeigt. Bist Du sicher, daß bei Deinen Versuchen auch das App Web neu erzeugt wurde? Visual Studio hat da irgendwie seine eigene Logik und macht das nicht immer…

    Gefällt mir

  4. Ja, es wird immer neu erzeugt. Ich musste die Listen vorhin noch jeweils einmal aufrufen und dann wurden sie auch in der Quick Launch angezeigt, allerdings unter dem Punkt „Zuletzt verwendet“.

    Jetzt werden sie auch angezeigt ohne dass ich die jeweilige Liste vorher aufrufe. Bekommt man den Punkt „Zuletzt verwendet“ irgendwie weg und wie kann ich die Anordnung in der Quick Launch sortieren?

    Gefällt mir

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s