Frage

Ich habe eine benutzerdefinierte Seiten-Bibliothek, die ein benutzerdefinierter Inhaltstyp und ein Seitenlayout alle innerhalb einer Site-Definition.

wie erwartet funktioniert. Das einzige, was ich nicht umgehen kann, ist, dass, wenn ich die Lösung mit dem Seite-lib, ctype, Seitenlayout über stsadm alles Upgrade ist mit Ausnahme des Seitenlayouts aktualisiert.

Neue Felder in der ctype -> kein Problem Geänderte Ansichten in der Seite-lib -> kein Problem

aktualisiert Pagelayout -> ERROR

Der Seitenlayout-Abschnitt:

<!-- specific page-layout to display LKW data -->
    <File Url="CustomPage.aspx" Type="GhostableInLibrary" IgnoreIfAlreadyExists="TRUE" >
      <Property Name="Title" Value="$Resources:CustomLayouts,Title;" />
      <Property Name="MasterPageDescription"
                Value="$Resources:cmscore,PageLayout_BlankWebPartPage_Description;" />
      <Property Name="ContentType"
                Value="$Resources:cmscore,contenttype_pagelayout_name;" />
      <Property Name="PublishingPreviewImage"
                Value="~SiteCollection/_catalogs/masterpage/$Resources:core,Culture;/Preview Images/BlankWebPartPage.png, ~SiteCollection/_catalogs/masterpage/$Resources:core,Culture;/Preview Images/BlankWebPartPage.png" />
      <Property Name="PublishingAssociatedContentType"
                Value=";#$Resources:FieldsCTypes,cTypeDisplayName;;#0x010100C568DB52D9D0A14D9B2FDCC96666E9F2007948130EC3DB064584E219954237AF3900D38AAFB8072F441984BC947D49503947;#" />
    </File>

Der entsprechende Abschnitt im onet.xml:

<Module Name="Home" Url="$Resources:cmscore,List_Pages_UrlName;Custom" Path="">
      <File Url="Default.aspx" Type="GhostableInLibrary" IgnoreIfAlreadyExists="TRUE">
        <Property Name="Title"
                  Value="$Resources:Layouts,DisplayName;" />
        <Property Name="ContentType"
                  Value="$Resources:cmscore,contenttype_welcomepage_name;"/>
        <Property Name="PublishingPageLayout"
                  Value="~SiteCollection/_catalogs/masterpage/CustomPage.aspx, $Resources:PalfingerPlatformsOrderRoot,LKWpageDefaultTitle;" />
        <Property Name="PublishingPageContent"
                  Value="" />
      </File>
    </Module>

Das Merkwürdige ist, wenn ich nur ein Seitenlayout ohne darunter liegende Seite-Bibliothek kann ich die Seite-ayout aktualisieren. Das Problem tritt nur auf, wenn ich eine benutzerdefinierte Seitenlayout innerhalb einer eigenen Seiten-Bibliothek verwenden.

Ich habe einige Google-Suche und einen Hinweis gefunden - das Problem könnte sein, dass das Seitenlayout ist nicht duplizierte. Ich habe dies mit einem kleinen Beispielcode:

SPFile file = folder.Files["Default.aspx"];
 if (file.CustomizedPageStatus == SPCustomizedPageStatus.Customized)
 {
   file.RevertContentStream();
 }

Nach dem Ausführen des Codes des Seitenlayout aktualisiert wird und verwendet das neue Seitenlayout.

Das Problem ist, dass dies für mich keine wirkliche Lösung ist, weil ich ca. haben. 1000 Website-Sammlungen der Website-def verwenden. und das Seitenlayout. Aktualisierung alle von ihnen ist sehr schmerzhaft. Weiß jemand eine Lösung für dieses?

War es hilfreich?

Lösung

Ich möchte auf eine Sache äußern. Sieht aus wie IgnoreIfAlreadyExists = "TRUE" funktioniert nicht richtig auf diese Link

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top