Freigeben über


Gewusst wie: Anpassen der mobilen Homepage durch Umleitung

Letzte Änderung: Mittwoch, 2. Februar 2011

Gilt für: SharePoint Foundation 2010

Wie unter Homepage-Umleitung beschrieben, verfügt Microsoft SharePoint Foundation über ein zweites System zur Umleitung, das nur für Homepages konzipiert ist. In diesem Thema wird erläutert, wie Sie das System so ändern können, dass mobilen Benutzern für einen bestimmten Websitetyp eine alternative Homepage angezeigt wird.

HinweisHinweis

Die Homepageumleitung wird nur aufgerufen, wenn der mobile Benutzer auf eine der folgenden Arten auf die Homepage einer Website zugreift:

  • Angeben von default.aspx als Homepage: http://MyServer/MyWebSite/default.aspx

  • Angeben keiner Seitendatei, aber Anfügen von /m/ am Ende der Website-URL: http://MyServer/MyWebSite/m/. (Dies ist nur möglich, wenn das MobileRedirection-Feature der Vorversion aktiviert wurde. Weitere Informationen finden Sie unter Übersicht über mobile Seiten und das Umleitungssystem.)

Die Umleitung kann von einem Computerbrowser entweder durch die Verwendung von /m/ oder durch Hinzufügen von ?Mobile=1 hinter default.aspx in der URL aufgerufen werden.

Die hier beschriebene Änderungsmethode hat keine Auswirkungen auf mobile Benutzer, die auf die Homepage einer Website zugreifen, indem sie entweder nur die URL der Website verwenden (http://MyServer/MyWebSite/) oder eine andere Seite als default.aspx angeben (http://MyServer/MyWebSite/HomePage.aspx).

Zur Homepageumleitung wird ein zweistufiger Umleitungsmechanismus verwendet. Mobile Geräte werden anfänglich auf die mobile default.aspx-Seite in %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\MOBILE umgeleitet. Von der Seite default.aspx wird der Benutzer dann entsprechend dem Typ der aktuellen Websitedefinition mit der folgenden Sequenz auf die tatsächliche Homepage umgeleitet:

  1. Der einzige Inhalt in default.aspx ist ein Steuerelement, das die Laufzeit zur Verwendung eines RenderingTemplate-Objekts namens MobileHomePageRedirect veranlasst.

  2. Von der Laufzeit wird der Speicher aller Renderingsteuerelemente, die aus ASCX-Dateien in %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\CONTROLTEMPLATES geladen wurden, nach einem RenderingTemplate mit diesem Namen durchsucht. Es wird eine Vorlage aus der Datei MobileDefaultTemplates.ascx gefunden.

  3. Die Template-Eigenschaft des MobileHomePageRedirect-Steuerelements verweist die Laufzeit auf ein Objekt der SPMobileWebUrlRedirect-Klasse.

  4. Vom SPMobileWebUrlRedirect-Objekt wird der Name eines anderen RenderingTemplate nach dem Muster Mobile_WebsitetypID_HomePage_Redirect erstellt, wobei WebsitetypID der Name einer in SharePoint Foundation enthaltenen Websitedefinition ist, wie STS, SGS oder BLOG, oder die ID-Nummer einer benutzerdefinierten Websitedefinition, wie 10001. (Weitere Informationen finden Sie im Referenzthema für die SPMobileWebUrlRedirect-Klasse.)

  5. Von der Laufzeit werden alle Renderingvorlagen, die aus ASCX-Dateien in %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\CONTROLTEMPLATES geladen wurden, nach diesem zweiten RenderingTemplate durchsucht.

    • Falls WebsitetypID den Wert BLOG hat, wird das RenderingTemplate-Objekt Mobile_BLOG_HomePage_Redirect in MobileDefaultTemplates.ascx gefunden. Die Template-Eigenschaft dieses Steuerelements verweist die Laufzeit auf ein Objekt der SPMobileHomePageRedirection-Klasse, dessen PageFileName-Eigenschaft angibt, dass bloghome.aspx die Homepage ist.

    • Falls WebsitetypID nicht den Wert BLOG hat und keine benutzerdefinierten ASCX-Dateien erstellt wurden, wird das RenderingTemplate-Objekt Mobile_Default_HomePage_Redirect in MobileDefaultTemplates.ascx verwendet. Die Template-Eigenschaft dieses Steuerelements verweist die Laufzeit auf ein Objekt der SPMobileHomePageRedirection-Klasse, dessen PageFileName-Eigenschaft angibt, dass mblwp.aspx die Homepage ist.

Sie können ein benutzerdefiniertes Steuerelement erstellen, das Benutzer auf eine alternative mobile Homepage umleitet.

Verfahren

So ersetzen Sie die mobile Homepage durch Umleitung

  1. Erstellen Sie in Microsoft Visual Studio ein leeresSharePoint-Projekt. Erstellen Sie eine Farmlösung, keine Lösung mit eingeschränkter Sicherheitsstufe.

  2. Fügen Sie TEMPLATE\LAYOUTS\MOBILE einen zugeordneten SharePoint-Ordner hinzu.

  3. Klicken Sie mit der rechten Maustaste auf den neuen Ordner, und fügen Sie eine Nur-Text-Datei für die neue Homepage hinzu. Weisen Sie ihr einen Namen mit der Erweiterung ASPX zu, z. B. ContosoHomePage.aspx. Die Datei wird von Visual Studio automatisch dem SharePoint-Lösungsmanifest hinzugefügt und ihre Bereitstellung in %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\MOBILE festgelegt.

    TippTipp

    Fügen Sie dem Projekt kein Element für eine SharePoint-Anwendungsseite hinzu. Für solche Elemente werden von Visual Studio einige zusätzliche Ordner und Dateien (sowie ein Standardinhalt der Datei) für die Bereitstellung hinzugefügt, die sich nicht für eine mobile Seite eignen.

  4. Kopieren Sie den Inhalt einer vorhandenen Seite aus %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\MOBILE, z. B. mblwiki.aspx, mblwp.aspx, mblwpdetail.aspx oder bloghome.aspx, in die benutzerdefinierte Datei.

  5. Ändern Sie den Inhalt der Datei nach Bedarf. (Für einen schnellen Test kopieren Sie den Inhalt von mblwiki.aspx und vertauschen anschließend die Einstellungen für die Vordergrund- und Hintergrundfarben in der Kopfzeile, sodass der Seitentitel in dunkelblaugrauer Schrift auf weißem Hintergrund statt der standardmäßigen weißen Schrift auf dunkelblaugrauem Hintergrund angezeigt wird.)

  6. Fügen Sie TEMPLATE\ControlTemplates einen zugeordneten SharePoint-Ordner hinzu.

  7. Klicken Sie mit der rechten Maustaste auf den neuen Ordner, und fügen Sie dem Ordner ein Benutzersteuerelement hinzu. Legen Sie für die ASCX-Datei einen Namen fest, der sich von den Namen anderer Lösungsanbieter unterscheidet. Beispiel: ContosoHomePageRedirection.ascx. Die Datei wird von Visual Studio automatisch dem SharePoint-Lösungsmanifest hinzugefügt, und es wird festgelegt, dass die Datei in %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates bereitgestellt wird.

    TippTipp

    Fügen Sie das Benutzersteuerelement nicht durch Klicken mit der rechten Maustaste auf Projekt im Projektmappen-Explorer hinzu. Beim Hinzufügen eines Benutzersteuerelements auf diese Art und Weise wird es von Visual Studio in einem Unterordner von TEMPLATE\ControlTemplates abgelegt. Und falls es nicht verschoben wird, wird es in einem entsprechenden Unterordner von %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates bereitgestellt. Mobile Renderingvorlagen in Unterordern werden nicht geladen.

  8. Löschen Sie die Dateien *.ascx.cs und *.ascx.designer.cs (bzw. *.ascx.vb und *.ascx.designer.vb). Sie werden für dieses Projekt nicht benötigt.

  9. Ersetzen Sie den gesamten Direktivenabschnitt der ASCX-Datei durch das folgende Markup:

    <%@ Register TagPrefix="GroupBoardMobile"   Namespace="Microsoft.SharePoint.Applications.GroupBoard.MobileControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Control Language="C#"   %> 
    <%@ Assembly Name="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
    <%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" %> 
    <%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
    <%@ Register TagPrefix="SPMobile" Namespace="Microsoft.SharePoint.MobileControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
    <%@ Register TagPrefix="WPMobile" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    
  10. Fügen Sie der ASCX-Datei eine Renderingvorlage hinzu, und weisen Sie ihr eine ID im folgenden Format zu: Mobile_WebsitetypID_HomePage_Redirect.

    WebsitetypID kann einer der folgenden Werte sein:

    • Der Name der Definition der Teamwebsite: "STS"

    • Der Name der Definition der Gruppenarbeitssite: "SGS"

    • Die ID-Nummer (nicht der Name) einer beliebigen benutzerdefinierten Websitedefinition, die erstellt wurde.

    Es ist bereits ein RenderingTemplate namens Mobile_BLOG_HomePage_Redirect in MobileDefaultTemplates.ascx definiert. Sie können diese Datei nicht ändern. Sie können jedoch ein zweites RenderingTemplate mit demselben Namen Mobile_BLOG_HomePage_Redirect in einer benutzerdefinierten ASCX-Datei erstellen. Allerdings besteht dann die Gefahr, dass andere installierte benutzerdefinierte Lösungen oder Drittanbieterlösungen, die von der vorhandenen Vorlage Mobile_BLOG_HomePage_Redirect abhängen, nicht mehr funktionsfähig sind.

    Die im Lieferumfang von SharePoint Foundation enthaltenen RenderingTemplate-Objekte werden zuerst geladen. Somit wird die Standardrenderingvorlage überschrieben, wenn eine benutzerdefinierte Vorlage mit demselben Namen geladen wird. Wenn zwei oder mehr benutzerdefinierte RenderingTemplate-Objekte denselben Namen tragen, werden die anderen Vorlagen durch die mit dem alphabetisch letzten Dateinamen überschrieben. Enthält eine Datei zwei oder mehr Vorlagen mit demselben Namen, wird keine davon geladen.

    HinweisHinweis

    Für MPS-, CENTRALADMIN-, TENANTADMIN-Websitedefinitionen sowie WIKI-Websitedefinitionen der Vorversion wird der Zugriff über mobile Geräte nicht unterstützt.

    HinweisHinweis

    Der Name einer Websitedefinition wird durch das Name-Attribut eines Template-Elements in einer WebTemp.xml-Datei definiert, und die ID der Websitedefinition wird mit dem ID-Attribut desselben Elements festgelegt. Weitere Informationen zu diesen Attributen finden Sie unter WebTemp.xml.

    Wichtiger HinweisWichtig

    Die Websitedefinitionskonfiguration des Configuration-Elements in der Onet.xml-Datei einer Websitedefinition muss ein WebFeatures-Element enthalten, und dieses Element muss das Homepageumleitungs-Featureelement <Feature ID="F41CC668-37E5-4743-B4A8-74D1DB3FD8A4" /> aufweisen.

    Das folgende Beispiel zeigt eine Vorlage, durch die der Zugriff mobiler Geräte auf Websites auf der Grundlage der Websitedefinition STS auf ContosoHomePage.aspx umgeleitet wird.

    <SharePoint:RenderingTemplate RunAt="Server"
       ID="Mobile_STS_HomePage_Redirect">
      <Template>
        <SPMobile:SPMobileHomePageRedirection RunAt="Server" 
          PageFileName="ContosoHomePage.aspx" />
      </Template>
    </SharePoint:RenderingTemplate>
    
  11. Wählen Sie im Menü Erstellen die Option Projektmappe bereitstellen aus. Dadurch wird die ASCX-Datei automatisch gespeichert, und die beiden Dateien werden bereitgestellt. Die Webanwendung wird wiederverwendet, sodass alle ASCX-Dateien in diesem Ordner erneut geladen werden.

  12. Testen Sie die neue Homepage mit einem mobilen Gerät oder einem Emulator. Beachten Sie, dass es von der genauen verwendeten URL abhängt, ob die alternative oder die ursprüngliche Homepage angezeigt wird. Weitere Informationen finden Sie weiter oben in diesem Thema.

Siehe auch

Konzepte

Mobile Entwicklung mit SharePoint Foundation

Weitere Ressourcen

Anleitungen und exemplarische Vorgehensweisen für die mobile Entwicklung