SP2010 Сбросьте все субситы, чтобы наследовать мастер -страницу с помощью C#
-
16-10-2019 - |
Вопрос
Я создаю приемную функцию сайта, которая устанавливает пользовательскую главную страницу в корневой сети. Я также хотел бы, чтобы главная страница, установленная на корне, была унаследована для всех дослуг. Как наиболее элегантный способ обеспечить это (используя .NET)?
(Очевидно, я мог бы повторить все дослуги и установить их вручную ..)
Решение
Есть более простой способ сделать это, используя API SharePoint:
SPWeb web = SPContext.Current.Web;
PublishingWeb publishingWeb = PublishingWeb.GetPublishingWeb(web);
publishingWeb.CustomMasterUrl = "/_catalogs/masterpage/mycustom.master";
publishingWeb.CustomMasterUrl.SetInherit(true, true);
publishingWeb.Update();
Другие советы
Я думаю, что лучшее, что мы можем сделать, это что -то вроде следующего в методе FeatureActivativated.
foreach (SPWeb site in siteCollection.AllWebs)
{
site.MasterUrl = "/_catalogs/masterpage/mycustom.master";
site.CustomMasterUrl ="/_catalogs/masterpage/mycustom.master";
site.Update();
site.Dispose();
}
private void SetMaster(SPWeb web, string masterpagePath, string custommasterpagePath)
{
web.CustomMasterUrl = masterpagePath;
web.MasterUrl = custommasterpagePath;
web.Update();
foreach(SPWeb child in web.Webs)
{
try {
SetMaster(child, masterpage, custommasterpage);
}
finally
{
if(child != null) child.Dispose();
}
}
}
Назовите это, проходя через Spsite.rootweb и укажите путь к своим главным страницам. Это будет вспоминаться о всех сайтах ниже этой rootweb в коллекции сайтов (т.е. все они!)
Обратите внимание, что вам может потребоваться подумать, используют ли на приведенные ниже сайты сайты разные мастер -страницы в качестве Это может вызвать проблемы, особенно с рабочими рабочими местами, но, возможно, другими.
Вам также может понадобиться рассмотреть Хранение оригинальных деталей мастер -страниц в сумке недвижимости Для Интернета, чтобы вы могли восстановить их позже (например, деактивация функции)
И вы можете пожелать Убедитесь, что темы выключены И не мешайте вашему внешнему виду.
http://msdn.microsoft.com/en-us/library/gg447066(v=office.14).aspx
Это предоставит детские дочерние ресивер, взяв мастер -страницу сайта Toplevel ...