Hinzufügen eines Hyperlinks zu einer Datenansicht

Zu den einfachsten und gleichzeitig leistungsfähigsten Funktionen einer Webanwendung gehört die Möglichkeit, ein beliebiges Inhaltselement in einen Hyperlink umzuwandeln. Hyperlinks dienen nicht nur zur Verknüpfung von Webseiten, sie stellen auch ein sehr praktisches Verfahren dar, um eine Benutzeroberfläche für datengesteuerte Webanwendungen bereitzustellen.

Mit Microsoft Office SharePoint Designer 2007 können Sie jedes Feld in einer Datensicht im Handumdrehen in einen Hyperlink umwandeln. Je nach Anforderungen der Webanwendung kann es sich um einen einfachen oder einen komplexen Hyperlink handeln.

Beispiel: Die Nordwind GmbH, ein Handelsunternehmen für Feinschmeckerprodukte, erstellt derzeit eine Intranetwebanwendung zum Anzeigen und Verwalten ihrer Produkte. In den folgenden Abschnitten werden einige Möglichkeiten beschrieben, wie Hyperlinks in dieser Webanwendung genutzt werden können.

Was möchten Sie tun?


Erstellen eines Hyperlinks zu einem Formular

Hyperlinks sind ein einfacher und effektiver Mechanismus, der Ihren Kunden die Navigation zwischen den verschiedenen Datenansichten und Formularen ermöglicht, die Sie in einer Webanwendung verwenden. Ein typisches Modell ist die Navigation von einer Datenansicht mit mehreren Elementen zu einem Formular für ein einzelnes Element.

Erstellen eines Hyperlinks zu einem integrierten SharePoint-Listenformular

Jede SharePoint-Liste ist mit drei bestimmten Formularen verknüpft, die für die Arbeit mit Listenelementen verwendet werden: ein Formular zum Erstellen eines Elements (NewForm.aspx), ein Formular zum Bearbeiten eines Elements (EditForm.aspx) und ein Formular zum Anzeigen eines Elements (DispForm.aspx). Diese Formulare sind mit den verschiedenen Listenansichten verknüpft, die der Liste zugeordnet sind. Wenn es sich bei der Datenquelle für eine Datenansicht um eine SharePoint-Liste oder -Bibliothek handelt, können Sie von der Datenansicht eine Verknüpfung mit jedem dieser Formulare erstellen.

  1. Erstellen oder öffnen Sie eine Datenansicht einer SharePoint-Liste oder -Bibliothek, und wechseln Sie dann zur Entwurfsansicht.
  2. Wählen Sie einen Feldwert in der Spalte aus, in der Sie einen Hyperlink bereitstellen möchten, und klicken Sie dann mit der rechten Maustaste auf den Wert.
  3. Zeigen Sie auf Element formatieren als, zeigen Sie auf Hyperlink zu, und klicken Sie dann auf eins der drei Formulare: Formular für neuen Eintrag, Formular bearbeiten oder Formular anzeigen.
  4. Falls das Dialogfeld Bestätigen angezeigt wird, klicken Sie auf Ja.

Erstellen eines Hyperlinks zu einem Datenansichtsformular

Sie können eine Datenansicht mit mehreren Elementen mit einem eigenen benutzerdefinierten Datenansichtsformular verknüpfen. Bei der Datenquelle kann es sich um eine SharePoint-Liste oder jede andere Form einer beschreibbaren Datenquelle, z. B. eine Datenbankverbindung oder XML-Datei, handeln. Ein Beispiel für das Erstellen einer Datenansicht auf Grundlage einer XML-Datei finden Sie im Artikel zum Erstellen einer Datenansicht (möglicherweise in englischer Sprache).

  1. Erstellen oder öffnen Sie eine Datenansicht, und wechseln Sie dann zur Entwurfsansicht.
  2. Wählen Sie den Feldwert in der Spalte aus, in der Sie einen Hyperlink bereitstellen möchten, und klicken Sie dann auf den Pfeil in der oberen rechten Ecke, um die Liste Allgemeine Aufgaben von xsl:value-of anzuzeigen.
  3. Klicken Sie in der Dropdownliste Formatieren als auf Hyperlink.
  4. Falls das Dialogfeld Bestätigen angezeigt wird, klicken Sie auf Ja.
  5. Geben Sie im Dialogfeld Hyperlink bearbeiten im Feld Adresse die URL ein.

Wenn es sich bei der Datenquelle beispielsweise um eine SharePoint-Liste handelt, kann es gewünscht sein, eine Verknüpfung mit dem Datenansichtsformular für das aktuelle Listenelement zu erstellen. Sie müssen daher einen Parameter für die Listenelement-ID zur Abfragezeichenfolge der URL hinzufügen.

http://northwindtraders/editproduct.aspx?ID={@ID}
  1. Klicken Sie auf OK.

Zurückleiten des Kunden zur Datenansicht

Nachdem die Kunden den Hyperlink zum Formular verwendet und das Formular übermittelt haben, werden sie zur Standardlistenansicht der SharePoint-Liste weitergeleitet. In den meisten Szenarios empfiehlt es sich jedoch eher, die Kunden zur ursprünglichen Datenansicht zurückzuleiten. Damit dies geschieht, muss die angesteuerte URL das Name/Wert-Paar Source=URL enthalten. Das Hinzufügen dieses Name/Wert-Paars kann automatisch über das System erfolgen, wenn Sie zwei Attribute zum Link hinzufügen.

  1. Erstellen oder öffnen Sie eine Datenansicht, und wechseln Sie dann zur geteilten Ansicht oder zur Codeansicht.
  2. Navigieren Sie zum Unterknoten <xsl:template name="dvt_1.rowview"> des <WebPartPages:DataFormWebPart>-Tags.
  3. Suchen Sie das <a>-Tags, mit dem der Feldwert formatiert wird. Beispiel:

<td class="ms-vb">
   <a href="http://northwindtraders/Lists/Products/EditForm.aspx?ID={@ID}">
      <xsl:value-of select="@Product_x0020_Name"/>
   </a>
</td>
  1. Fügen Sie die Attribute zum <a>-Tag hinzu, durch es ermöglicht wird, dass die Kunden zu dieser Datenansicht zurückgeleitet werden. Beispiel:

<td class="ms-vb">
   <a href="http://northwindtraders/Lists/Products/EditForm.aspx?ID={@ID}"
      onclick="GoToLink(this);return false;"
      target="_self">
      <xsl:value-of select="@Product_x0020_Name" />
   </a>
</td>

Im vorherigen Beispiel wurden die Attribute onclick und target zum <a>-Tag hinzugefügt.

  1. Fügen Sie die Formularaktion Zu Quelle navigieren zu einer oder mehreren Schaltflächen auf dem Zielformular hinzu. Informationen zum Hinzufügen dieser Formularaktion zu einem Formular finden Sie im Artikel zum Hinzufügen einer integrierten Formularaktion zu einer Datenansicht (möglicherweise in englischer Sprache).

Seitenanfang Seitenanfang

Erstellen eines Hyperlinks zu einer Seite ausgehend von mehreren Feldwerten

Ein klassischer Verwendungszweck von Hyperlinks in einer Datenansicht besteht darin, den Wert einer Spalte als Hyperlink zu formatieren, der auf einem oder mehreren Feldern, die die URL des Hyperlinks bilden, sowie auf anderen Attributen basiert.

Beispiel: Die Nordwind GmbH stellt ihren Katalog auf einer Website zur Verfügung. Die URL jedes Artikels im Katalog wird durch zwei Werte bestimmt: die Kategorie und den Produktcode. Die URL zur Seite für Curry-Sauce ist beispielsweise folgende:

http://www.northwindtraders.com/catalog/Sauces/NWTS-8

Sie möchten nun eine Datenansicht in der Intranetwebanwendung so bearbeiten, dass sie eine Verknüpfung zum Katalog enthält.

  1. Erstellen oder öffnen Sie eine Datenansicht einer SharePoint-Liste, und wechseln Sie dann zur Entwurfsansicht.
  2. Wählen Sie den Feldwert in der Spalte aus, in der Sie einen Hyperlink bereitstellen möchten, und klicken Sie dann auf den Pfeil in der oberen rechten Ecke, um die Liste Allgemeine Aufgaben von xsl:value-of anzuzeigen.
  3. Klicken Sie in der Dropdownliste Formatieren als auf Hyperlink.
  4. Falls das Dialogfeld Bestätigen angezeigt wird, klicken Sie auf Ja.
  5. Geben Sie die URL ein. Beispiel:
http://northwindtraders.com/catalog/{@Category}/{@Product_x0020_Code}

 Tipp   Wenn Sie nicht sicher sind, wie ein Verweis zu einem Feld eingegeben wird, können Sie auf die Schaltfläche fxSchaltflächensymbol klicken. Wählen Sie das Feld aus, das Sie hinzufügen möchten, und klicken Sie dann auf OK.

  1. Klicken Sie auf OK.

Seitenanfang Seitenanfang

Verbessern eines Hyperlinks mit XSL

Es gibt verschiedene Möglichkeiten, die Funktionalität und Darstellung eines Hyperlinks in einer Datenansicht mithilfe von XSL zu verbessern. Im Folgenden werden zwei Beispiele vorgestellt.

Anzeigen weiterer Daten mithilfe des title-Attributs

Sie haben beschlossen, den Kataloghyperlink so zu bearbeiten, dass der Wert des Felds "Beschreibung" angezeigt wird, wenn der Benutzer der Webanwendung die Maus über den Hyperlink bewegt.

  1. Erstellen oder öffnen Sie eine Datenansicht, und wechseln Sie dann zur geteilten Ansicht oder zur Codeansicht.
  2. Navigieren Sie zum Unterknoten <xsl:template name="dvt_1.rowview"> des <WebPartPages:DataFormWebPart>-Tags.
  3. Navigieren Sie zum XSL-Code, der zum Rendern des Hyperlinks dient. Beispiel:

<td class="ms-vb">
   <a href="http://www.northwindtraders.com/catalog/{@Category}/{@Title}">
      <xsl:value-of select="@Product_x0020_Name" />
   </a>
</td>
               
  1. Geben Sie <xsl:attribute name="title"> unmittelbar vor dem </a>-Tag ein, und drücken Sie dann die EINGABETASTE.
  2. Geben Sie in einer neuen Zeile nach der vorherigen Zeile <xsl:value-of select=" ein.
  3. Nach der Eingabe des öffnenden Anführungszeichens wird eine Liste der verfügbaren Felder von IntelliSense angezeigt. Doppelklicken Sie auf das Feld, mit dem die Daten bereitgestellt werden sollen. In diesem Beispiel würden Sie auf @Beschreibung klicken.
  4. Geben Sie "/> ein, und drücken Sie dann die EINGABETASTE.
  5. Geben Sie </xsl:attribute> ein, und drücken Sie dann die EINGABETASTE.

Im Folgenden sehen Sie das Ergebnis des zuvor beschriebenen Beispiels:


<td class="ms-vb">
   <a href="http://www.northwindtraders.com/catalog/{@Category}/{@Title}">
      <xsl:attribute name="title">
         <xsl:value-of select="@Description"/>
      </xsl:attribute>
      <xsl:value-of select="@Product_x0020_Name" />
   </a>
</td>

Erstellen eines Hyperlinks mit bedingten Attributen

Während Ihrer Arbeit an der Intranetsite für die Nordwind GmbH werden Sie vom Kunden gebeten, die Links zum Katalog etwas zu optimieren. Einige Produkte sind ausgelaufen, sodass es auch keine entsprechenden Katalogseiten mehr gibt. Sie beschließen, die Datenansicht so zu ändern, dass der Link davon abhängt, ob das jeweilige Produkt ausgelaufen ist oder nicht.

  1. Entwickeln Sie die bedingte Logik. Sie könnten beispielsweise drei verschiedene Seitenaktionen festlegen, die vom Wert für Auslaufartikel abhängen:
    • Wenn Auslaufartikel den Wert 0 aufweist, wird der Link zum Katalog angezeigt.
    • Wenn Auslaufartikel den Wert 1 aufweist, wird der Link zu einer Intranetseite (einer Datenansicht) angezeigt, auf der Informationen zum ausgelaufenen Artikel bereitgestellt werden. Außerdem wird hinter dem Namen des Produkts der Hinweis "Auslaufartikel" angezeigt.
    • Falls keine der oben angegebenen Bedingungen zutrifft, ist der Wert möglicherweise nicht vorhanden oder wurde falsch festgelegt. In diesem Fall wird der Link zur Intranetseite angezeigt.
  2. Erstellen oder öffnen Sie eine Datenansicht, und wechseln Sie dann zur geteilten Ansicht oder zur Codeansicht.
  3. Navigieren Sie zum Unterknoten <xsl:template name="dvt_1.rowview"> des <WebPartPages:DataFormWebPart>-Tags.
  4. Fügen Sie die bedingte Logik zum XSL-Code hinzu. Vor der Implementierung der Änderung könnte der Code beispielsweise folgendermaßen aussehen:

<xsl:template name="dvt_1.rowview">
   <tr>
      <xsl:if test="position() mod 2 = 1">
         <xsl:attribute name="class">ms-alternating</xsl:attribute>
      </xsl:if>
      <td class="ms-vb"><xsl:value-of select="@Category" /></td>
   
      <td class="ms-vb">
         <a href="http://www.northwindtraders.com/catalog/{@Category}/{@Title}">
            <xsl:attribute name="title">
               <xsl:value-of select="@Description"/>
            </xsl:attribute>
            <xsl:value-of select="@Product_x0020_Name" />
         </a>
      </td>
               

Aktualisieren Sie den Code folgendermaßen:


<xsl:template name="dvt_1.rowview">
   <tr>
      <xsl:if test="position() mod 2 = 1">
         <xsl:attribute name="class">ms-alternating</xsl:attribute>
      </xsl:if>
      <td class="ms-vb"><xsl:value-of select="@Category" /></td>
   
      <td class="ms-vb">
         <a>
            <xsl:choose>

               <!-- Discontinued is False, so this product should have a catalog page for us to link to. -->
               <xsl:when test="Discontinued = 0">
                  <xsl:attribute name="href">http://northwindtraders/displayproduct.aspx?id={@ID}</xsl:attribute>
                     <xsl:value-of select="ProductName" />
                  </xsl:when>

               <!-- Discontinued is not False, so we should not assume this product has a catalog page. -->
               <xsl:otherwise>
                  <xsl:attribute name="href">http://www.northwindtraders.com/catalog/{@Category}/{@Title}</xsl:attribute>
                  <xsl:attribute name="onclick">GoToLink(this);return false;</xsl:attribute>
                  <xsl:attribute name="target">_self</xsl:attribute>
                  <xsl:value-of select="ProductName" />

                  <!-- Discontinued is True, so we append this information after the name of the product -->
                  <xsl:if test="Discontinued=1">
                     <xsl:text> (Discontinued)</xsl:text>
                  </xsl:if>
               </xsl:otherwise>

            </xsl:choose>
         </a>
      </td>
               

Seitenanfang Seitenanfang

 
 
Zutreffend für:
SharePoint Designer 2007