SharePointCommunity
Die deutschsprachige Community für SharePoint, Office 365 und mit Azure

Listinstanz als WebPart in Unterwebseite automatisch anzeigen

bewertet von 0 Usern
Beantwortet Dieser Beitrag hat 1 Geprüfte Antwort | 6 Antworten | 1 Follower

Ohne Rang
24 Beiträge
Aleruf erstellt in 11 Sep 2013 10:40

Hallo Zusammen,

in meiner SP-Lösung kann auf der Rootseite eine Unterwebseite erstellt werden. Diese Webseite enthält Listeninstanzen.

 Einer dieser Listeninstanzen soll nun nach der Erstellung einer solchen Unterwebseite als WebPart auf dessen Rootseite zusehen sein. Wie kann ich nun diese Listinstanz als Webpart beim erstellen einer Webseite einfügen? Hat da jemand eine Idee?

Ich dachte mir, dass ich in der Onet.xml im Tag Configuration das Ganze vordefinieren kann, weiss leider nur noch nicht genau wie.

 

 

Beantwortet Geprüfte Antwort

Top-10-Beitragsschreiber
Männlich
18.371 Beiträge

Du hast zwei Möglichkeiten: entweder das Webpart per Code hinzufügen oder deklarativ im <Module>. Dort kannst Du dem File-Element ein <AllUsersWebPart> unterordnen und dabei ein XsltListViewWebPart angeben. Dem Webpart selbst mußt Du dann über dessen WebUrl und ListUrl die passenden Werte setzen (mit Hilfe des ~site Token)

Viele Grüße
Andi
af @ evocom de
Blog

Alle Antworten

Ohne Rang
24 Beiträge

Hoi Andy,

das ist ne gute Idee, aber der User muss da ja nachdem die Subsite angelegt wurde das WebPart manuell einfügen. Ich möchte aber, das sobald die Subsite erstellt wird, das WebPart automatisch auf der default.aspx auf der Root der Subsite erscheint.

 

Top-10-Beitragsschreiber
Männlich
18.371 Beiträge

Du kannst eine vorkonfigurierte Website "Als Vorlage speichern". Wenn dann ein Benutzer eine neue Website aus dieser Vorlage erstellt, ist auch die Listenansicht da. Und man kann sowas natürlich auch mit eigenem Programmcode machen, indem man das SiteProvisioned-Ereignis behandelt.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
24 Beiträge

Also eigentlich geht es mir um die SiteDefinition in meinem Visual Studio Projekt. Dort gibt  es lediglich eine default.aspx jedoch zwei Arten von Subwebs. Beide Subwebs greifen aber auf diese eine Default seite zu und verwenden Sie als Hauptseite.

Ich habe nun folgendes gemacht. Zunächst die default.aspx kopiert und diese default2.aspx genannt. In der onet.xml das Modul erweitert (siehe unten).

Config 1 nimmt jetzt die default.aspx und Config 2 nimmt die default2.aspx.  Jetzt sollte aber diese default2.aspx bereits ein ListenWebpart integriert haben (Die benutzerdefinierte Liste gibt es als Listendefinition in der Solution und wird beim erstellen der Subsite ebenfalls erstellt).

Hier habe ich folgendes versucht: Zunächst habe ich die Subsite mit der Config ID 2 erstellt. auf der default2.aspx habe ich dann manuell die Liste als WebPart eingebunden. Mit dem Designer wollte ich nun den WebPart Teil rauskopieren und in die default2.aspx im Visual Studio Projekt einfügen. Geht leider nicht, ich denke das liegt an den IDs. Kann ich das überhaupt so machen? Wenn ja was muss ich beachten?

 

 

 

 

 

 

<

 

 

Module Name="DefaultBlank" Url="" Path="">

<File Path="default.aspx" Url="default.aspx">

</File>

</Module>

<Module Name="Default2" Url="" Path="">

<File Path="default2.aspx" Url="default.aspx">

</File>

Top-10-Beitragsschreiber
Männlich
18.371 Beiträge

Du hast zwei Möglichkeiten: entweder das Webpart per Code hinzufügen oder deklarativ im <Module>. Dort kannst Du dem File-Element ein <AllUsersWebPart> unterordnen und dabei ein XsltListViewWebPart angeben. Dem Webpart selbst mußt Du dann über dessen WebUrl und ListUrl die passenden Werte setzen (mit Hilfe des ~site Token)

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
24 Beiträge

Ahh Klasse...ich probier das morgen mal aus, wär super wenn das klappt.

 

Seite 1 von 1 (7 Elemente) | RSS