Freigeben über


Gewusst wie: Anpassen von mobilen Homepages

Letzte Änderung: Mittwoch, 2. Februar 2011

Gilt für: SharePoint Foundation 2010

Dieses Thema bietet eine Übersicht über das grundlegende Verfahren zum Anpassen einer Microsoft SharePoint Foundation-Homepage, auf die mobile Geräte zugreifen können. Ausführliche Anweisungen finden Sie unter Exemplarische Vorgehensweise: Anpassen einer mobilen Homepage. Eine Übersicht der Vorgehensweisen zum Anpassen von Listenansichts- und Formularseiten finden Sie unter Vorgehensweise: Anpassen mobiler Listenansichts- und Formularseiten.

Wie in System zum Rendern mobiler Seiten ausführlich beschrieben ist, starten Steuerelemente in der Kopfzeile (Titel), im Textkörper (Inhalt) und in der Fußzeile (Navigation) einer mobilen Homepage jeweils eine Befehlskette, die schließlich in einem Aufruf eines RenderingTemplate-Objekts resultiert, das den entsprechenden Bereich der mobilen Seite rendert. Dabei handelt es sich fast immer um ein RenderingTemplate-Objekt mit einer segmentierten ID. Wenn keine RenderingTemplate mit einem übereinstimmenden Namen gefunden wird, wird eine Standardvorlage verwendet. Das bedeutet, dass Sie die Kopfzeile, den Textkörper oder die Fußzeile anpassen können, indem Sie ein RenderingTemplate-Objekt mit der ID für die gewünschte Laufzeit erstellen.

Insbesondere wird von der Laufzeit eine RenderingTemplate-ID mit dem folgenden Format gesucht:

IntendedPageUse_SiteTypeID_HomePage_PageArea

Die Platzhalter IntendedPageUse, SiteTypeID und PageArea sind unter Segmentierte Rendervorlagen-IDs definiert. Weitere Informationen über die Abschnitte einer mobilen Seite finden Sie unter Layout und Paginierung von mobilen Seiten.

Wenn für einen der Platzhalter IntendedPageUse, SiteTypeID und PageArea kein RenderingTemplate-Objekt mit einem übereinstimmenden Namen gefunden wird, wird eine Vorlage mit "Default" anstelle von SiteTypeID verwendet:

IntendedPageUse_Default_HomePage_PageArea

Wenn beispielsweise die Laufzeit nach einem RenderingTemplate-Objekt mit der ID WebPartMobile_STS_HomePage_Title sucht, wird keines gefunden (sofern keine benutzerdefinierte Vorlage mit diesem Namen hinzugefügt wurde). Daher wird WebPartMobile_Default_HomePage_Title verwendet, was vorhanden ist, um den Kopfzeilenbereich (Titel) der mobilen Homepage für eine STS-Website zu rendern.

Angenommen, Sie möchten die Darstellung der Kopfzeile der mobilen Homepage für eine STS-Website anpassen. Dann könnten Sie ein RenderingTemplate-Objekt mit der ID WebPartMobile_STS_HomePage_Title in einer ASCX-Datei erstellen, die Sie in %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\ControlTemplates bereitstellen. Sie können die Datei MobileDefaultTemplates.ascx oder GbwMobileDefaultTemplates.ascx ändern. Weitere Informationen zum Erstellen einer benutzerdefinierten Renderingvorlage für eine mobile Seite finden Sie weiter unten in diesem Thema sowie unter Exemplarische Vorgehensweise: Anpassen einer mobilen Homepage.

Vorhandene RenderingTemplate-Objekte

Nachfolgend sind die RenderingTemplate-Objekte für mobile Homepages aufgeführt, die bereits in MobileDefaultTemplates.ascx oder GbwMobileDefaultTemplates.ascx enthalten sind, wenn SharePoint Foundation installiert wird.

  • Mobile_STS_HomePage_Title

  • Mobile_STS_HomePage_Contents

  • WebPartMobile_SGS_HomePage_Contents

  • WebPartMobile_STS_HomePage_Contents

Sie können (in einer eigenen ASCX-Datei) ein neues RenderingTemplate-Objekt mit derselben ID wie eine dieser vorhandenen Renderingvorlagen erstellen. Allerdings besteht dann die Gefahr, dass andere Lösungen, die in SharePoint Foundation bereitgestellt werden und vom ursprünglichen RenderingTemplate-Objekt abhängig sind, nicht mehr funktionieren.

HinweisHinweis

Die Renderingvorlagen im Lieferumfang von SharePoint Foundation werden vor den benutzerdefinierten Vorlagen geladen. Wenn also eine benutzerdefinierte Vorlage mit derselben ID wie eine der existierenden Renderingvorlagen geladen wird, wird die ursprüngliche Vorlage außer Kraft gesetzt. Wenn zwei oder mehr benutzerdefinierte Renderingvorlagen dieselbe ID aufweisen, setzt die Renderingvorlage, deren Dateiname im Alphabet zuletzt kommt, alle anderen Renderingvorlagen außer Kraft. Wenn eine Datei zwei oder mehr Renderingvorlagen mit derselben ID aufweist, wird keine davon geladen.

Die folgenden RenderingTemplate-Objekte sind ebenfalls in den Dateien MobileDefaultTemplates.ascx oder GbwMobileDefaultTemplates.ascx definiert. Diese werden von der Laufzeit immer dann verwendet, wenn kein RenderingTemplate-Objekt für den aktuellen Websitetyp definiert ist. (Diese Vorlagen steuern also die Homepagedarstellung der Seiten einer Website basierend auf einer benutzerdefinierten Websitedefinition, sofern keine benutzerdefinierte Renderingvorlage mit der ID IntendedPageUse_CustomSiteID#_HomePage_PageArea erstellt wird.) Diese Gefahr besteht auch, wenn Sie ein neues RenderingTemplate-Objekt mit einer dieser IDs erstellen.

  • 1

  • Mobile_Default_HomePage_Contents

  • Mobile_Default_HomePage_Navigation

  • WebPartMobile_Default_HomePage_Title

  • WebPartMobile_Default_HomePage_Contents

  • WebPartMobile_Default_HomePage_Navigation

  • WebPartMobileDetail_Default_HomePage_Contents

  • WebPartMobileDetail_Default_HomePage_Navigation

RenderingTemplate-Objekte können geschachtelt werden. Siehe das Beispiel im nächsten Abschnitt.

So passen Sie einen Abschnitt einer mobilen Homepage an

  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\ControlTemplates einen zugeordneten SharePoint-Ordner hinzu.

  3. Klicken Sie mit der rechten Maustaste auf den neuen Ordner, und fügen Sie ein SharePoint-Benutzersteuerelement hinzu. Legen Sie für die ASCX-Datei einen Namen fest, der sich von den Dateien anderer Lösungsanbieter unterscheidet. Ein Beispiel: ContosoMobileRenderingTemplates.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 von Visual Studio in einem entsprechenden Unterordner von %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates bereitgestellt. Mobile Renderingvorlagen in Unterordern werden nicht geladen.

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

  5. 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" %>
    
  6. Fügen Sie der ASCX-Datei eine Renderingvorlage mit einer ID im folgenden Format hinzu: IntendedPageUse_SiteTypeID_HomePage_PageArea.

    • IntendedPageUse ist Mobile, WebPartMobile oder WebPartMobileDetail.

    • SiteTypeID kann STS, SGS, BLOG oder die ID-Nummer (nicht der Name) einer benutzerdefinierten Websitedefinition sein. (Die ID einer Websitedefinition wird mit dem ID-Attribut eines Template-Objekts in einer WebTemp.xml-Datei festgelegt. Weitere Informationen zum ID-Attribut einer Websitedefinition finden Sie unter WebTemp.xml.)

    • PageArea kann Title, Contents oder Navigation sein.

  7. Wählen Sie im Menü Erstellen die Option Projektmappe bereitstellen aus. Dadurch wird die ASCX-Datei automatisch gespeichert und in %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\ControlTemplates bereitgestellt. Die Webanwendung wird wiederverwendet, sodass alle ASCX-Dateien in diesem Ordner erneut geladen werden.

Beispiel

In der folgenden RenderingTemplate-Beispieldefinition ist dargestellt, wie mehrere RenderingTemplate-Objekte geschachtelt werden können. In diesem Fall wird von der benutzerdefinierten Vorlage in der Fußzeile ein Link zur mobilen Seite von Microsoft hinzugefügt. Anschließend wird die standardmäßige Fußzeilen-Renderingvorlage aufgerufen, um die übrige Fußzeile darzustellen.

Falls das mobile Gerät Rich-Text nicht darstellen kann, wird mblwp.aspx als mobile STS-Homepage verwendet und dem Benutzer der neue Link oben in der Fußzeile präsentiert.

Wenn das Gerät Rich-Text schon darstellen kann, wird mblwiki.aspx als mobile STS-Homepage verwendet. Das Steuerelement in der Fußzeile (Navigationsbereich) dieser Seite ruft keine Renderingvorlage mit segmentiertem Namen auf, auch nicht indirekt. Insbesondere wird nicht WebPartMobile_STS_HomePage_Navigation aufgerufen. Aus diesem Grund kann die Fußzeile von mblwiki.aspx nicht wie in diesem Thema beschrieben angepasst werden. Die in diesem Beispiel beschriebene Anpassung wird zunächst scheinbar keine Wirkung bei mobilen Geräten zeigen, die Rich-Text darstellen können. Sie können bei derartigen Geräten die Verwendung von mblwp.aspx als Homepage erzwingen, indem Sie im Adressfeld des mobilen Browsers "wiki" in mblwiki.aspx durch "wp" ersetzen. In der Kopfzeile (Titel) und im Textkörper (Inhalt) von mblwiki.aspx werden dieselben Renderingvorlagen verwendet wie in den entsprechenden Bereichen in mblwp.aspx. Das in diesem Thema beschriebene Verfahren kann also sowohl für Geräte, die Rich-Text darstellen können, als auch für solche, die dies nicht können, zum Anpassen der Kopfzeile und des Textkörpers verwendet werden.

Ein weiteres Beispiel für die Anpassung einer mobilen Homepage finden Sie unter Exemplarische Vorgehensweise: Anpassen einer mobilen Homepage.

<SharePoint:RenderingTemplate ID="WebPartMobile_STS_HomePage_Navigation" RunAt="Server">
  <Template>
    <mobile:Link Text="Microsoft Mobile" href="http://mobile.microsoft.com/" RunAt="Server" />
    <SPMobile:SPMobileComponent TemplateName="WebPartMobile_Default_HomePage_Navigation" RunAt="Server" />
  </Template>
</SharePoint:RenderingTemplate>

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Anpassen einer mobilen Homepage

Vorgehensweise: Anpassen mobiler Listenansichts- und Formularseiten

Konzepte

Layout und Paginierung von mobilen Seiten

Gewusst wie: Anpassen der mobilen Homepage durch Umleitung

System zum Rendern mobiler Seiten