سؤال

ولدي مخصصة صفحة المكتبة التي عادة نوع المحتوى وتخطيط الصفحة جميع داخل تعريف الموقع.

ويعمل كما هو متوقع. الشيء الوحيد الذي لا يمكن الالتفاف حولها هو أنه إذا كان يمكنني الترقية الحل مع صفحة ليب، الأساسية CType، تخطيط الصفحة عبر كل STSADM يتم تحديثها باستثناء تخطيط الصفحة.

ومجالات جديدة في الأساسية CType -> لا مشكلة وجهات النظر المتغيرة في صفحة ليب -> لا مشكلة

وتحديث PageLayout -> خطأ

وقسم تخطيط الصفحة:

<!-- 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>

والقسم المعني في 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>

والغريب في الأمر، إذا أنا فقط لديك صفحة تخطيط مع عدم وجود الكامنة الصفحة مكتبة يمكنني تحديث صفحة ayout. وتحدث هذه المشكلة فقط إذا كنت تستخدم عادة تخطيط الصفحة داخل العرف صفحة المكتبة.

وفعلت بحث بعض غوغل وجدت تلميح - قد تكون المشكلة أن تخطيط الصفحة هو unghosted. راجعت هذا مع رمز عينة صغيرة:

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

وبعد تنفيذ التعليمات البرمجية وترقية ل-تخطيط ويستخدم تخطيط الصفحة الجديد.

والمشكلة هي أن هذا ليس حلا حقيقيا بالنسبة لي لأنني تقريبا. 1000 مجموعات الموقع باستخدام مواطنه الموقع. وتخطيط الصفحة. تحديث كل منهم أمر مؤلم للغاية. لا أحد يعرف حل لهذه؟

هل كانت مفيدة؟

المحلول

وأود أن أعلق على شيء واحد. يبدو IgnoreIfAlreadyExists = "الحقيقية" لا يعمل بشكل صحيح الرجوع إلى هذه ، يمكن الرجوع القيمة إلى FALSE من شأنه أن يساعد.

<File Url="CustomPage.aspx" Type="GhostableInLibrary" IgnoreIfAlreadyExists="TRUE" >
scroll top