#sharepoint-2010
#sharepoint-2010
Вопрос:
У меня есть решение для изолированной среды, которое имеет 2 функции (обе функции уровня sitecollection). Я активирую обе функции, используя одного и того же ПОЛЬЗОВАТЕЛЯ.
функция 1: загружает файлы .stp в папку _catalogs / lt через файл модуля
функция 2 (зависит от функции 1): он получит все файлы .stp через .Метод GetCustomListTemplates (spweb) из _catalogs / lt, но файлы не поступают, вот мой код
using (SPSite mySite = properties.Feature.Parent as SPSite)
{
using (SPWeb spWeb = mySite.OpenWeb())
{
spWeb.AllowUnsafeUpdates = true;
SPListTemplateCollection listTemplates = mySite.GetCustomListTemplates(spWeb);
}
}
В listTemplates нет .stp files.it выходит пустым.
пожалуйста, помогите мне…
Ответ №1:
Является ли ваш шаблон списка производным от одного из шаблонов списков по умолчанию, таких как «Доска обсуждений»? Я заметил, что когда я попытался выполнить следующее, я столкнулся с той же проблемой, что и вы:
- Сохраните список «Доска обсуждений» SharePoint 2007 в качестве шаблона списка
- Используйте метод, описанный в этом блоге, для преобразования шаблона в SharePoint 2010
- Загрузите шаблон на мой сайт SharePoint 2010
Я заметил, что шаблон списка «Доска обсуждений» по умолчанию даже не был вариантом для создания нового списка в SharePoint 2010. Поэтому я перешел к функциям сайта и включил «Списки совместной работы в команде», просто чтобы включить шаблон списка «Доска обсуждений» по умолчанию. После этого появился шаблон списка «Доска обсуждений» по умолчанию и мой пользовательский шаблон «Доска объявлений», когда я приступил к созданию нового списка. Затем я перешел к своему сценарию powershell и заметил, что GetCustomListTemplates вернул мой пользовательский шаблон. Я предполагаю, что это означает, что C # также должен работать.
Вот список со старого веб-сайта SharePoint 2007:
Вот функция совместной работы, которая включает шаблон списка «Доска обсуждений» на новом веб-сайте SharePoint 2010:
Вот меню для создания нового списка на новом веб-сайте SharePoint 2010 ПОСЛЕ включения функции списков совместной работы в команде:
Как вы можете видеть, изображение «BulletinBoard» совпадает с изображением «Доски обсуждений», поэтому SharePoint, вероятно, не смог использовать шаблон «BulletinBoard», поскольку шаблон «Доски обсуждений» еще не был установлен.
Ответ №2:
Если вы используете Центр записей в качестве шаблона для вашего корневого веб-сайта в SharePoint 2010, GetCustomListTemplates() всегда возвращает 0 (ноль).
Есть какая-то странная ошибка, из-за которой это происходит.
Вот код, который вы можете попробовать запустить в SharePoint PowerShell. Возвращаемое значение для GetCustomListTemplates($web).Количество будет равно нулю, если у вас есть корневая сеть, созданная из шаблона центра записей.
$site = get-spsite("http://localhost")
$web = $site.RootWeb
$list = $web.Lists["TestDocLibrary"]
$list.SaveAsTemplate("MyListTemplate.stp", "MyListTemplate", "My List Template", $false)
$site.GetCustomListTemplates($web).Count
Дополнительную информацию можно найти на следующих веб-страницах:
- http://social.msdn.microsoft.com/Forums/ar/sharepoint2010general/thread/c5455a27-360a-465c-91d5-f81beeac6789
- http://sharepointrecordsmanagement.com/2011/02/
Удачи! — Джейсон