05.11.2007
Das Inhaltsabfrage- (Content Query) Webpart des Microsoft Office SharePoint Server 2007 ist für viele Websites höchst nützlich. Allerdings gibt es ein kleines Problem damit: Wenn es benutzt wird, um Inhalte einer SharePoint-Liste (und nicht einer Dokumentbibliothek) zu durchsuchen, erzeugt es in seiner Ausgabe leider Links, die auf eine Seite namens CopyUtil.aspx verweisen - und die funktioniert nicht für anonyme Benutzer. Was also tun, wenn man dieses Webpart für eine Liste in einer öffentlichen Website verwenden möchte?
An vielen Stellen im Web wird gesagt, dass man die Ausgabe des Inhaltsabfrage-Webparts steuern kann, indem man eine Datei namens ContentQueryMain.xsl bearbeitet. Nur fand sich leider nirgends (einschließlich dem Microsoft Support) eine genaue Angabe, was man denn nun genau ändern soll, damit es funktioniert.
Auch wenn hier keine allgemeingültige Lösung gezeigt werden kann, so funktioniert folgendes Verfahren doch wenigstens für den Fall, dass das Webpart nur für die Abfrage einer einzigen Liste in einer Websitesammlung verwendet werden soll. Es können durchaus an vielen Stellen in der Websitesammlung Inhaltsabfrage-Webparts für diese eine Liste angebracht werden, nur muss leider die URL zur Liste hart kodiert werden.
Folgende Vorgehensweise führt unter diesen Voraussetzungen zum Erfolg:
<xsl:template name="OuterTemplate.GetSafeLink">
<xsl:value-of select="concat('/_layouts/CopyUtil.aspx?Use=id&Action=dispform&ItemId=',@ID,'&ListId=',@ListId,'&WebId=',@WebId,'&SiteId=',$SiteId)"/>
<xsl:value-of select="concat('/Lists/NameDerListe/DispForm.aspx?ID=',@ID)"/>
Dabei steht /Lists/NameDerListe für die URL der Liste. Da diese fest in den Code geschrieben werden muss (uns ist kein Verfahren bekannt, die URL der Liste hier in Form eines Platzhalters einzutragen), funktioniert das Webpart beim Abfragen von Listen jetzt nur noch für diese eine Liste. Es funktioniert aber unverändert beim Durchsuchen von Dokumentbibliotheken, insbesondere Webseiten. Aber immerhin können Sie das Inhaltsabfrage-Webpart jetzt zum Abfragen einer Liste für anonyme Benutzer verwenden.
Voilà.
Nach oben • Kontakt • Impressum • Datenschutzerklärung • Sitemap