2009-05-05 4 views
1

Hier ist meine Situation:Benutzerdefinierte SharePoint-Listenansicht - kann ich es in eine Funktion (WSP) einfügen?

Ich arbeite in SharePoint 2007 Enterprise, ich habe eine Funktion, die eine Liste für mich erstellt, wenn ich es bereitstellen und aktivieren. Mein bisher üblicher Workflow bestand darin, die Lösung zu implementieren, sie zu aktivieren und dann SharePoint Designer zu öffnen, um die Liste anzupassen.

Meine Anpassungen sind normalerweise ziemlich komplex, aber ich werde die Dinge einfach halten. In diesem Fall sage ich einfach, dass ich AllItems.aspx bearbeite, die Datenansicht in eine XSLT-Datenansicht umwandeln und dann eine Spalte mit statischem Text hinzufüge.

Ich habe ein paar verschiedene Werkzeuge (SPSource, VSeWSS, SharePoint Manager, OCDExportList, etc.) verwendet, um meine benutzerdefinierte schema.xml und alle Standardansichten zu extrahieren, aber ich habe noch Glück, herauszufinden, wo der Code für AllItems.aspx ist jetzt, dass es angepasst wurde.

Wenn ich extrahiere (mit einem der oben genannten Tools) AllItems.aspx ist nicht anders als die Standardeinstellung. Das <View> Element in schema.xml auf eine Zeile reduziert, zum Beispiel:

<View DefaultView="TRUE" 
     MobileView="TRUE" 
     MobileDefaultView="TRUE" 
     Type="HTML" 
     FPModified="TRUE" 
     DisplayName="All Documents" 
     Url="Forms/AllItems.aspx" 
     Level="1" 
     ContentTypeID="0x" /> 

ich wirklich hier bin stecken ... Ich habe keine Ahnung, was zu tun. Ist es überhaupt möglich? Es würde mir viel Zeit (und Dokumentation) sparen, wenn ich meine Anpassungen in meine Funktion aufnehmen könnte.

Wenn es andere Informationen gibt, die ich vermisse, würde helfen, lass es mich wissen ... danke!


Neueste Erkenntnisse:

Ich habe ein bisschen mehr in den letzten paar Stunden herausgefunden haben. Wenn ich die Liste als Listenvorlage speichern, speichern Sie die STP-Datei lokal als CAB-Datei, deren Inhalt ich extrahieren kann. Eine der Dateien ist manifest.xml, die die schema.xml sowie einige andere Abschnitte enthält.

Einer dieser Abschnitte ist ein <webparts> Abschnitt mit einer <webpart> für jede Ansicht. Jedes dieser <webpart> Elemente enthält eine wirklich lange Zeichenkette ... keine Ahnung, was diese Zeichen tatsächlich darstellen.

Die wichtige Sache ist, dass ich denke, dass alle benutzerdefinierten Ansichten tatsächlich Webparts sein müssen, wenn sie als Teil einer Lösung bereitgestellt werden ... aber ich bin nicht positiv.

Antwort

1

Ich habe vor einer Weile ein ähnliches Problem konfrontiert. Ich musste eine sehr angepasste Ansicht erstellen und ich musste das ListFormWebPart vollständig aufgeben und habe mein eigenes Webpart erstellt, um die Daten zu rendern.

Im Allgemeinen, wenn Sie die ASPX-Datei in SPDesigner anpassen, werden alle Ihre Änderungen in der ASPX-Datei selbst sein. Öffnen Sie es in SPDesigner und Sie werden dort alle Änderungen sehen, die Sie vorgenommen haben. Nachdem Sie in die XSL-Datenansicht konvertiert wurden, wird das Standard-ListFormWebPart durch ein DataFormWebPart ersetzt, das sich nicht um die <View> Tags kümmert, die in der schema.xml-Datei angegeben sind. Suchen Sie in der aspx-Datei selbst nach dem ListFormWebPart.

Warum nicht alle gewünschten Anpassungen in einer Liste speichern, die Liste als Vorlage speichern (sie enthält die verknüpften AllItems.aspx) und dann diese Vorlage in Ihrer Funktion verwenden, um Ihre Liste zu erstellen? Sie können die Extracolumn-Datei aus dem Code hinzufügen (wenn sie dynamisch ist und nicht in die Vorlage eingeschlossen werden kann) und so weiter.

+0

Ja, ich weiß dass ich meinen Code in SharePoint Designer sehen kann - ich bin mir nicht sicher, wo dieser Code tatsächlich gespeichert wird. Es scheint in AllItems.aspx zu sein, aber wenn Sie eines der erwähnten Tools ausführen, um schema.xml und die Ansichten herauszuziehen, ist dieser Code nirgendwo zu finden. Ich habe in den letzten paar Stunden gefunden, dass ich meine Ansicht als Vorlage speichern, diese Vorlage lokal speichern, in .cab umbenennen und öffnen kann. Es enthält eine manifest.xml, die die schema.xml sowie eine Menge anderer Sachen enthält. Ein Abschnitt ist ein Abschnitt, der vielversprechend aussieht ... – SeanW

0

Ich habe ein ähnliches Problem und habe eine Menge Forschung dazu getan. Der Datenansicht-Webpart ist für mich eine der leistungsstärksten Komponenten in Sharepoint. Leider muss ich meine Lösung als .swsp-Paket bereitstellen und das bedeutet, dass ich nicht einfach die Website erstellen und Designer auf dieser Website verwenden kann. Ich habe einen zweistufigen Ansatz gewählt, indem ich Designer zum Erstellen meiner Datenansicht verwendet habe und auch den Code dieser Datenansicht bearbeitet habe, um die ListID und Guids zu ListName und den tatsächlichen Listennamen zu ersetzen. Dies ermöglicht den Export und die Verwendung in jeder Seite/Site, solange der Listenname derselbe ist. Ich erstelle auch eine Webpart-Seiten-Dokumentbibliothek in meiner Lösung, und ich glaube, dass ich die Seiten mit den Webparts mithilfe der Datei onet.xml zu dieser Bibliothek hinzufügen kann. Ich werde versuchen, die Ergebnisse dieses Tests zu erhalten, sobald ich es kann.

1

Ja, Sie können. Holen Sie sich den Sharepoint Manager Tool von Codeplex

Installieren Sie es auf einem Computer in Ihrer Farm, können Sie die Farm über eine Baumansicht durchsuchen, die alle Objekte zeigt.

Erstellen Sie die Liste über die Sharepoint-GUI, und navigieren Sie zu ihr mit SPM.

SPM ermöglicht Ihnen die MOSS/WSS erstellt xml zu extrahieren, die die Listenansicht beschreibt (es zeigt in der linken Eigenschaftenraster nach oben), die Sie dann in Ihrem manifest.xml plop kann