Перечислять все сайты - определить, на основе определения /шаблона сайта /шаблона
-
16-10-2019 - |
Вопрос
Можно ли использовать модель объекта SharePoint для перечисления всех сайтов в приложении, чтобы определить, что такое определение базового сайта? (а также знать, был ли сайт предоставлен из шаблона?) Thx
Решение
Вы можете использовать свои коллекции сайтов и изучить каждый SpWeb, чтобы обнаружить WebTemplate, WebTemplateId и конфигурацию.
Эти значения соответствуют шаблону и конфигурации, используемой для создания сайта (он же веб -сайт в API). Затем вы можете сравнить это с определениями сайта, найденными в корнере SharePoint (14 Hive, если вы хотите) в соответствующих файлах onet.xml и файлах webtemp*.xml.
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spweb_members.aspx
В SP2007 был нет Способ выяснить, был ли ваш сайт подготовлен шаблоном определения сайта или файлом шаблона (STP). Поскольку файлы STP теперь выходят на пенсию (в любом случае для шаблонов сайта) в пользу файлов WSP, я бы предположил, что это все еще невозможно увидеть.
Другие советы
Чтобы добавить в ответ Anders, вы можете получить имя через API, в 2010 и 2013 годах.
Использовать Spweb.getavailablewebtemplates. Анкет Еще один поток SharePoint.stackexchange.com имеет Отличный пример использования API через PowerShell.