Создание страницы: В библиотеке главных страниц узла верхнего уровня нет доступных файлов макетов страниц

Несколько раз мне приходилось сталкиваться со странными проблемами, делающими невозможным создание новых страниц на узле публикации MOSS 2007.

При попытке создания новой страницы появлялось странное сообщение об ошибке:

В библиотеке главных страниц узла верхнего уровня нет доступных файлов макетов страниц. Добавьте в эту библиотеку один или несколько макетов страниц перед созданием страницы или настройкой свойств страницы.   at Microsoft.SharePoint.Publishing.Internal.WebControls.DropDownListWithDetails.ItemInfo.PopulateDataList(PageLayout[] layouts, SPSite site)
   at Microsoft.SharePoint.Publishing.Internal.CodeBehind.BasePageSettingsPage.LoadLayoutValues()
   at Microsoft.SharePoint.Publishing.Internal.CodeBehind.BasePageSettingsPage.LoadValues()
   at Microsoft.SharePoint.Publishing.Internal.CodeBehind.CreatePagePage.LoadValues()
   at Microsoft.SharePoint.Publishing.Internal.CodeBehind.BasePageSettingsPage.OnLoad(EventArgs e)
   at Microsoft.SharePoint.Publishing.Internal.CodeBehind.CreatePagePage.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

 

В интернете существует несколько подходов к решению данной проблемы, но ни не всегда помогают. Например, такое случается после импорта колекции узлов публикации.

 

Обычно при этом в списке типов содержимого коллекции узлов находятся записи с именами вида:

$Resources:cmscore,group_pagelayoutcontenttypes;
   $Resources:cmscore,contenttype_articlepage_name; $Resources:cmscore,contenttype_page_name; ИТ-Блок
   $Resources:cmscore,contenttype_redirectpage_name; $Resources:cmscore,contenttype_page_name; ИТ-Блок
   $Resources:cmscore,contenttype_welcomepage_name; $Resources:cmscore,contenttype_page_name; ИТ-Блок
$Resources:cmscore,group_publishingcontenttypes;
   $Resources:cmscore,contenttype_masterpage_name; $Resources:cmscore,contenttype_systemmasterpage_name; ИТ-Блок
   $Resources:cmscore,contenttype_page_name; $Resources:cmscore,contenttype_systempage_name; ИТ-Блок
   $Resources:cmscore,contenttype_pagelayout_name; $Resources:cmscore,contenttype_systempagelayout_name; ИТ-Блок

 

Решение: как ни странно, все, что нужно сделать, это переименовать такие типы содержимого в их оригинальные имена. После этого, все работает как и должно.

Comments

  • Anonymous
    October 27, 2010
    А оригиналныэ имено это собственно какие?! откуда узнать можно какое име у этого типа содержимого оригинальное ?!

  • Anonymous
    October 27, 2010
    Необходимо просмотреть строку ресурса, например: $Resources:cmscore,contenttype_page_name. ,где cmscore - имя файла ресурса contenttype_page_name - имф ресурса.