SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




WebPart wird in Custom Masterpage nicht angezeigt

Geprüfte Antwort Dieser Beitrag hat 7 Antworten

Ohne Rang
18 Beiträge
Patrick Weber erstellt 1 Dez. 2011 14:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich habe eine eigene Masterpage und ein dazugehöriges CSS erstellt. Außerdem habe ich ein eigenes Page Layout erstellt (angepasste BlankWebPartPage.aspx). Außerdem habe ich einen eigenen Content Type erstellt und diesen mit dem Page Layout verbunden. Das ganze wird dann als Feature bereitgestellt und funktioniert wunderbar. Ich kann sowohl meine Masterpage als auch das Page Layout wie gewünscht verwenden.

Bei dem erstellen einer neuen Seite soll direkt ein bestimmter WebPart in meiner rechten WebPart Zone angezeigt werden. Um das zu realiseren habe ich in die elements.xml des Features, mit dem ich das Page Layout bereitstelle den WebPart definiert.

Nun kommt das eigentliche Problem. Wenn ich eine neue Seite erstelle und meine Custom Masterpage eingerichtet ist, ist der WebPart nicht auf der Seite sichtbar. Wenn ich die Seite mit ?contents=1 aufrufe, dann sehe ich den WebPart und er wird als geöffnet angezeigt. Öffne ich die Seite mit dem SharePoint Designer, wird der WebPart ebenfalls angezeigt.

Wenn ich allerdings als Masterpage die nightandday auswähle und dann eine neue Seite mit meinem Page Layout (identischer Content Type wie zuvor) erstelle, dann wird der WebPart auch angezeigt. Bei den vorher erstellten Seiten wird er aber weiterhin ausgeblendet.

Ich hoffe ich konnte mich halbwegs verständlich ausdrücken. Hat jemand eine Idee, woran das liegen könnte?

Viele Grüße
Patrick

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 1 Dez. 2011 14:53
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Fehlt in Deiner selbsterstellten Masterpage der SPWebPartManager? Kannst Du andere Webparts einfügen?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
18 Beiträge
Patrick Weber Als Antwort am 1 Dez. 2011 15:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

der SPWebPartManager ist in der Masterpage definiert. Die rechte WebPart Zone ist im Editiermodus auch sichtbar und ich kann hier auch den fraglichen WebPart hinzufügen. Dieser wird danna auch angezeigt und funktioniert. Dem WebPart Titel wird eine [2] angehangen. Der WebPart, den ich also beim erstellen bereits hinzufüge, scheint irgendwo zu sein.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 1 Dez. 2011 15:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ist das erste Webpart auch innerhalb einer Webpartzone? Sollte man im SharePoint Designer sehen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
18 Beiträge
Patrick Weber Als Antwort am 1 Dez. 2011 15:32
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

So wie ich das sehe schon. Die Seite lasst sich im SPD nicht bearbeiten. Ich kann nur das Page Layout bearbeiten. Wenn ich dies mache, dann befindet sich der WebPart in der zone. In der Entwurfsansicht sieht es zumindest so aus und der entsrpechende Code sieht für mich auch gut aus:

   <td id="_invisibleIfEmpty" name="_invisibleIfEmpty" valign="top" height="100%" width="20%">
   <WebPartPages:WebPartZone runat="server" Title="<%$Resources:cms,WebPartZoneTitle_Right%>" ID="RightColumn" Orientation="Vertical">

<ZoneTemplate>
   <WpNs0:Kontakt runat="server" ShowPhone="True" ImportErrorMessage="Das Webpart kann nicht importiert werden." ShowEMail="True" ShowPicture="True" Description="WebPart zum Anzeigen von Benutzerdaten eines bestimmten Benutzers" ID="g_51728733_8706_4a86_b637_c26416217b3a" UsePublishingUser="True" ShowDepartment="True" Title="Kontakt" __MarkupType="vsattributemarkup" __WebPartId="{51728733-8706-4A86-B637-C26416217B3A}" WebPart="true" __designer:IsClosed="false" partorder="2"></WpNs0:Kontakt>

</ZoneTemplate></WebPartPages:WebPartZone>
   </td>

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 1 Dez. 2011 15:44
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Sieht an sich gut aus und ich habe keine weitere Idee. Vergleiche doch mal ein manuell eingefügtes Webpart mit dem per Feature eingefügten. Vielleicht findest Du einen Unterschied.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
18 Beiträge
Patrick Weber Als Antwort am 1 Dez. 2011 15:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich hatte schon mal die Vermutung, dass die WebPart Zone nach dem Umstellen der Masterpage eine andere ID bekommt. Sobald ich die Masterpage ändere, funktioniert das Page Layout wie gewünscht.

Ich weiß aber nicht, wie ich die WebPartZoneID prüfen kann. Muss bei der Zuweisung der Wert aus dem Titel oder der Wert ais ID eingetragen werden?

Im Page Layout ist die ID RightColumn, in der Eleemts.xml steht hier RightZone. Ich habe die auch schon geändert, aber ohne Erfolg.

Vielleicht habe ich ja Glück und es hat noch jemand eine Idee.

Ohne Rang
18 Beiträge
Patrick Weber Als Antwort am 1 Dez. 2011 16:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Lösung gefunden.

Im Page Layout ist die ID der WebPart Zone RightColumn. In dem Feature des Page Layouts habe ich den WebPart aber der Zone RightZone zugewiesen. Wenn die Zone nicht exisitert, wird der WebPart nicht angezeigt. Schade, eine Fehlermeldung beim Erstellen der Seite hätte mir weiter geholfen.

Was ich allerdings nicht verstehe ist, warum das ganze mit einer anderen Master Page funktioniert. Wenn ich diese austausche, bleibt der Fehler im Page Layout doch immer noch drin !?

Wie auch immer, es funktioniert jetzt.