Создание настраиваемого определения и конфигурации сайта
Дата последнего изменения: 2 февраля 2011 г.
Применимо к: SharePoint Foundation 2010
Код процедур не используется при создании определения настраиваемого сайта. Это полностью декларативная задача разработки. В первую очередь следует добавить разметку Collaborative Application Markup Language (CAML) в два критически важных файла: WebTemp*.xml и Onet.xml. В некоторых случаях также создается одна или несколько настраиваемых страниц сайта. Если требуется гарантировать готовность настраиваемого типа сайта для глобализации, можно также использовать один или несколько файлов ресурсов (RESX-файлов).
Иногда настраиваемый тип сайта является представляет собой сочетание встроенных типов списков, типов контента, типов столбцов и других компонентов, отличных от встроенных типов сайтов. Однако чаще, если решение Microsoft SharePoint Foundation требует нового типа сайта, в нем используется один или несколько настраиваемых типов контента, настраиваемых типов полей, настраиваемых типов списков, настраиваемых веб-частей, настраиваемых адаптеров мобильных веб-частей, настраиваемых шаблонов документов и т. д. Следует сначала выполнить все эти вспомогательные проекты разработки, чтобы можно было ссылаться на эти элементы в разметке настраиваемого определения сайта.
Настройка проекта
В Microsoft Visual Studio создайте проект Определение сайта в разделе SharePoint | 2010 шаблонов проектов. Выберите тип проекта фермы, а не для песочницы. Задайте имя, которое также будет служить внутренним именем определения сайта. Пользователи не видят это имя. По соглашению имена определений сайтов состоят только из прописных букв и не содержат пробелов или других знаков. Если в определении сайта предполагается более одной конфигурации, учтите, что этот элемент играет роль имени семейства настраиваемых типов сайта, и должен подходить для этой роли. В данном разделе для примера используется имя RESEARCH.
Примечание В проекте Visual Studio Определение сайта и данной документации обычно предполагается наличие только одного определения сайта, то есть одного элемента Template в файле WebTemp*.xml, хотя, как уже говорилось, может быть несколько настраиваемых типов сайтов, то есть несколько конфигураций в определении сайта. Однако в одном файле WebTemp*.xml может быть более одного определения сайта. В этом случае может потребоваться задать для проекта еще более общее имя, например название организации. Кроме того, при наличии нескольких определений в одном файле WebTemp*.xml необходимо добавить отдельные файлы Onet.xml в проект Visual Studio для каждого определения сайта и повторить приведенную ниже процедуру "Настройка файла Onet.xml" для каждого определения сайта, поскольку каждое из них должно иметь свой файл Onet.xml. Также потребуется обеспечить, чтобы пакет решения развертывал каждое из них в собственный подкаталог каталога %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates. Каждый такой подкаталог должен иметь имя атрибута Name соответствующего элемента Template в файле WebTemp*.xml.
Обычно в проекте определения сайта нет кода и не должно быть сборки, однако Visual Studio по умолчанию всегда компилирует сборку для каждого проекта. Сборка не содержит классов, если в проекте нет кода, но Visual Studio, опять-таки по умолчанию, выполняет ее развертывание с помощью пакета решения. Это означает, что в глобальный кэш сборок добавляется бессмысленная сборка. Поэтому, если в проект не добавляются элементы, компилируемые в сборку, это поведение Visual Studio по умолчанию следует отключить. В противном случае решение развернет бессмысленную сборку, которая может ввести в заблуждение администраторов фермы или сотрудников, отвечающих за отладку SharePoint. Выберите имя проекта в обозревателе решений. Откроется окно Свойства. Задайте для свойства Включить сборку в пакет значение false.
Настройка файла WebTemp*.xml
Откройте в обозревателе решений файл WebTemp*.xml. В рассматриваемом примере это файл WebTemp_RESEARCH.xml.
Совет При выполнении этой процедуры может полезно открыть в качестве модели встроенный файл WebTemp.xml. Он расположен в папке %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\lcid\XML, где lcid — это числовой код языка, например 1033 для английского. Создаваемый файл будет объединен со встроенным файлом. Не изменяйте встроенный файл! Имя настраиваемого файла должно соответствовать шаблону WebTemp*.xml.
Измените значение атрибута ID элемента Template на 10000 или большее. Это позволит избежать конфликта идентификатора с будущими определениями сайтов корпорации Майкрософт. При наличии других настраиваемых определений сайтов в целевой ферме убедитесь, что каждое из них имеет уникальный идентификатор.
Элемент Template по умолчанию содержит элемент Configuration. Если в определении сайта будет использоваться несколько конфигураций, то есть сайт будет представлять семейство связанных типов сайтов, скопируйте по одному элементу Configuration для каждого настраиваемого сайта в семействе. В рассматриваемом примере задаются две конфигурации. Дополнительные сведения о сценариях, требующих нескольких конфигураций в одном определении сайта, см. в статье Принятие решения о выборе нескольких определений или нескольких конфигураций.
Оставьте значение 0 для атрибута ID исходного элемента Configuration, но созданные копии пронумеруйте по порядку, начиная с 1.
Измените атрибуты Title и Description для каждого элемента Configuration, присвоив им значения, соответствующие конфигурациям настраиваемого сайта. Эти имена и описания будут отображаться в пользовательском интерфейсе при создании новых веб-сайтов.
Чтобы в пользовательском интерфейсе в качестве символа настраиваемого типа сайтов при создании пользователями сайтов из настраиваемых конфигураций отображалось настраиваемое изображение, измените соответствующим образом значения атрибутов ImageUrl.
Измените значение DisplayCategory каждого элемента Configuration нужным образом. Это значение задает имя категории, в которой отображается конфигурация сайта в пользовательском интерфейсе, когда пользователь создает веб-сайт. Во многих случаях подходит использование той же строки, которая использовалась для атрибута Name элемента Template. Еще один вариант — использовать название организации. Можно использовать любую из встроенных строк "Collaboration" или "Meetings". Значение "Custom" использовать не рекомендуется. Категория "Custom" по умолчанию содержит шаблоны веб-сайтов, а не конфигурации определений сайтов, и такой порядок является предпочтительным для администраторов.
Атрибут Hidden должен иметь значение FALSE во всех элементах Configuration.
Дополнительные сведения о настройке файла WebTemp*.xml см. в статьях Основные сведения о файлах WebTemp*.xml и Элемент Templates (Site).
Ниже приведен пример настраиваемого файла WebTemp_RESEARCH.xml. Этот файл использует два элемента Configuration для определения различных конфигураций определения сайта — одна для сайта совместных исследований, другая для сайта рабочей области для документов исследований. Оба определения сайта будут отображаться в пользовательском интерфейсе в категории «Исследования и разработка».
<?xml version="1.0" encoding="utf-8" ?>
<Templates xmlns:ows="Microsoft.SharePoint">
<Template Name="RESEARCH" ID="10001">
<Configuration ID="0" Title="Research Collaboration site"
Hidden="FALSE" ImageUrl="_layouts/images/stsprev.jpg"
Description="This definition creates a site for the Research
team to create, organize, and share general information."
DisplayCategory="Research & Development">
</Configuration>
<Configuration ID="1" Title="Research Document Workspace" Hidden="FALSE"
ImageUrl="_layouts/images/dwsprev.jpg" Description="This
definition creates a site for Research team colleagues to
work together on specific documents."
DisplayCategory="Research & Development">
</Configuration>
</Template>
</Templates>
Примечание |
---|
В объектной модели Microsoft SharePoint Foundation конфигурация определения сайта и ее родительское определение сайта представлены объектом Microsoft.SharePoint.SPWebTemplate. Свойство Name этого объекта объединяет имя определения и идентификатор конфигурации со знаком "#" между ними. Таким образом, две конфигурации определения сайта в предыдущем примере будут иметь имена RESEARCH#0 и RESEARCH#1. |
Настройка файла Onet.xml
Откройте в обозревателе решений файл Onet.xml.
Поскольку создается определение сайта, а не шаблон веб-сайта, необходимо выполнить хотя бы одно действие из приведенного ниже маркированного списка, выполнение которых с помощью шаблонов веб-сайтов невозможно. (Дополнительные сведения о выборе между созданием настраиваемого определения сайта и шаблона веб-сайта см. в статье Выбор между настраиваемыми веб-шаблонами и настраиваемыми определениями веб-сайтов.)
Зарегистрируйте настраиваемый нижний колонтитул для сообщений электронной почты, который будет отображаться в сообщениях, отправляемых с веб-сайтов, созданных на основе настраиваемого определения сайта. Для этого добавьте элемент ServerEmailFooter как дочерний для элемента Project. Дополнительные сведения см. в статье Элемент ServerEmailFooter (Site).
Настройте создаваемый тип сайта для использования настраиваемого постобработчика файлового диалога или настраиваемого внешнего поставщика безопасности. Для этого добавьте элемент Components как дочерний для элемента Project. Дополнительные сведения см. в разделе Элемент Components (Site) и в разделах о его дочерних элементах.
Зарегистрируйте настраиваемый тип документов для использования в библиотеках документов веб-сайтов, созданных на основе настраиваемого определения сайта. Для этого выполните указанные ниже действия.
Добавьте элемент DocumentTemplates в качестве дочернего для элемента Project и элемент DocumentTemplate в качестве дочернего для элемента DocumentTemplates.
Задайте в качестве значения атрибута Path элемента DocumentTemplate имя, использованное для значения атрибута Name элемента Template в настраиваемом файле WebTemp*.xml. В примере будет использоваться имя RESEARCH.
Задайте для атрибута Type элемента DocumentTemplate значение 10000 или больше, чтобы избежать конфликтов с будущими шаблонами документов, созданных Майкрософт.
Задайте подходящие значения атрибутов DisplayName и Description элемента DocumentTemplate.
Добавьте и настройте другие возможные атрибуты элемента DocumentTemplate нужным образом. Дополнительные сведения см. в разделах Добавление шаблона документа, типа файла и приложения редактирования к определению сайта, Элемент DocumentTemplate (Site) и Элемент DocumentTemplates (Site).
Добавьте дочерний элемент DocumentTemplateFiles для нового элемента DocumentTemplate. Затем добавьте для него хотя бы один дочерний элемент DocumentTemplateFile и задайте его атрибуты. Дополнительные сведения см. в статьях Добавление шаблона документа, типа файла и приложения редактирования к определению сайта и Элемент DocumentTemplateFile (Site).
Повторите приведенные выше действия для каждого настраиваемого шаблона документов, входящего в настраиваемое определение сайта. Для каждого элемента DocumentTemplate необходимо задать отличное от других значение атрибута Type. В дальнейшем все встроенные шаблоны документов для настраиваемого типа сайтов будут зарегистрированы.
Задайте нужные значения для следующих атрибутов элемента Project. (Обязательны только Title и ListDir, а значение ListDir может быть пустой строкой.)
ListDir
Revision
SiteLogoUrl
SiteLogoDescription
Title
Не используйте атрибут UIVersion. Дополнительные сведения об этих атрибутах см. в разделе Элемент Project (Site).
Если для использования на настраиваемых сайтах необходимо зарегистрировать еще какие-либо встроенные шаблоны документов, это можно сделать, выполнив указанные ниже действия.
Если это еще не было сделано на более раннем шаге, добавьте элемент DocumentTemplates в качестве дочернего для элемента Project.
Скопируйте в буфер обмена необходимые элементы DocumentTemplate из файла Onet.xml для стандартного сайта группы, расположенного в папке %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\SiteTemplates\sts\XML, и вставьте их в элемент DocumentTemplates.
Добавьте элементы Configuration в элемент Configurations, чтобы получить столько же элементов Configuration, сколько в настраиваемом файле WebTemp*.xml, созданном с помощью приведенной выше процедуры.
Установите для атрибута ID каждого элемента Configuration последовательные значения, начиная с 0. При внесении дополнительных изменений в элементы Configuration помните, что в конфигурации в файле Onet.xml указываются сведения о конфигурации в файле WebTemp*.xml с таким же значением идентификатора ID. Таким образом, в рассматриваемом примере конфигурация 0 в файле Onet.xml предоставляет сведения о конфигурации сайта "Совместные исследования" в файле WebTemp_Research.xml, а конфигурация 1 — сведения о конфигурации сайта "Рабочая область документов исследований".
Настройте атрибут Name для каждого элемента Configuration. Значение атрибута Name не обязательно должно совпадать со значением атрибута Title соответствующей конфигурации в файле WebTemp*.xml. По соглашению первое является акронимом последнего. В рассматриваемом примере зададим для конфигураций 0 и 1 имена СИ и РОДИ, соответственно.
В каждом элементе Configuration добавьте дочерние элементы List в элемент Lists по мере необходимости, чтобы обеспечить автоматическое создание каждого веб-сайта, создаваемого на основе одной из конфигураций, с нужными списками. (Если элемент Lists изначально является пустым тегом элемента, <Lists />, разделите его на начальный и конечный теги: <Lists></Lists>.)
Для каждого из встроенных типов скопируйте элемент List из одного из встроенных файлов Onet.xml во вложенных папках каталога %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates. Для настраиваемых типов списка элемент List необходимо сконструировать. Например, для типа списка "My_Custom_List" с атрибутом Type, равным 10001, необходимо добавить строку <List Title="My_Custom_List" Type="10001" Url="Lists/My_Custom_List" FeatureId="guid"/>, чтобы сформировать элемент Lists. Атрибут Url содержит URL-адрес для папки, содержащей определение списка, для каждого списка, в которую входят ASPX-файлы, Schema.xml и любые связанные файлы. Когда атрибут QuickLaunchUrl указан, он содержит полный путь к файлу AllItems.aspx для списка, который отображает список в области Быстрый запуск. Дополнительные сведения о регистрации списка в конфигурации определения сайта см. в статьях Элемент List (Site) и Базовые элементы: списки и библиотеки документов.
В каждом элементе Configuration добавьте дочерние элементы Module в элемент Modules по мере необходимости, чтобы обеспечить автоматическое создание каждого веб-сайта, создаваемого на основе одной из конфигураций, с необходимыми файлами. Каждый модуль, на который ссылается конфигурация, должен быть определен в основном элементе Modules, который также находится в файле Onet.xml, но вне элемента Configurations. Дополнительные сведения о регистрации модулей в файле Onet.xml см. в статьях Элемент Module (Site) и Модули.
В каждом элементе Configuration добавьте дочерние элементы Feature в элементы SiteFeatures и WebFeatures по мере необходимости, чтобы обеспечить автоматическое создание каждого веб-сайта, создаваемого на основе настраиваемых конфигураций, со всеми необходимыми функциями в активированном состоянии. Используйте элемент SiteFeatures для регистрации функций, имеющих в качестве области действия семейство веб-сайтов. Используйте WebFeatures для регистрации функций, имеющих в качестве области действия веб-сайт. Регистрируемые функции, включая созданные настраиваемые функции, должны быть уже развернуты во вложенных папках каталога %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES во время создания веб-сайта на основе конфигурации определения сайта. Например, мог быть добавлен тип контента, как описано в статье Практическое руководство. Добавление типа контента на сайт, или тип столбца, как описано в статье Добавление столбца к сайту. Чтобы зарегистрировать любую из встроенных функций, поставляемых с SharePoint Foundation, можно скопировать элементы Feature из элементов SiteFeatures и WebFeatures в любой из встроенных файлов Onet.xml во вложенных папках каталога %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates. Дополнительные сведения о регистрации функций см. в разделах Элемент WebFeatures (Site) и Элемент SiteFeatures (Site).
Следующий пример демонстрирует элемент Configurations, продолжающий пример.
<Configurations> <Configuration ID="0" Name="RC"> <Lists> <List FeatureId="00BFEA71-E717-4E80-AA17-D0C71B360101" Type="101" Title="$Resources:core,shareddocuments_Title;" Url="$Resources:core,shareddocuments_Folder;" QuickLaunchUrl="$Resources:core,shareddocuments_Folder;/Forms/AllItems.aspx" /> <List FeatureId="00BFEA71-6A49-43FA-B535-D15C05500108" Type="108" Title="$Resources:core,discussions_Title;" Url="$Resources:core,lists_Folder;/$Resources:core,discussions_Folder;" QuickLaunchUrl="$Resources:core,lists_Folder;/$Resources:core,discussions_Folder;/AllItems.aspx" EmailAlias="$Resources:core,discussions_EmailAlias;" /> <List FeatureId="00BFEA71-D1CE-42de-9C63-A44004CE0104" Type="104" Title="$Resources:core,announceList;" Url="$Resources:core,lists_Folder;/$Resources:core,announce_Folder;"> <Data> <Rows> <Row> <Field Name="Title">$Resources:onetid11;</Field> <Field Name="Body">$Resources:onetid12;</Field> <Field Name="Expires"><ows:TodayISO/></Field> </Row> </Rows> </Data> </List> <List FeatureId="00BFEA71-2062-426C-90BF-714C59600103" Type="103" Title="$Resources:core,linksList;" Url="$Resources:core,lists_Folder;/$Resources:core,links_Folder;" /> <List FeatureId="00BFEA71-EC85-4903-972D-EBE475780106" Type="106" Title="$Resources:core,calendarList;" Url="$Resources:core,lists_Folder;/$Resources:core,calendar_Folder;" QuickLaunchUrl="$Resources:core,lists_Folder;/$Resources:core,calendar_Folder;/Calendar.aspx" EmailAlias="$Resources:core,calendar_EmailAlias;" /> <List FeatureId="00BFEA71-A83E-497E-9BA0-7A5C597D0107" Type="107" Title="$Resources:core,taskList;" Url="$Resources:core,lists_Folder;/$Resources:core,tasks_Folder;" QuickLaunchUrl="$Resources:core,lists_Folder;/$Resources:core,tasks_Folder;/AllItems.aspx" /> </Lists> <Modules> <Module Name="Default" /> </Modules> <SiteFeatures> <Feature ID="00BFEA71-1C5E-4A24-B310-BA51C3EB7A57" /> </SiteFeatures> <WebFeatures> <Feature ID="00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5" /> </WebFeatures> </Configuration> <Configuration ID="1" Name="RDW"> <Lists> <List FeatureId="00BFEA71-E717-4E80-AA17-D0C71B360101" Type="101" Title="$Resources:core,shareddocuments_Title;" Url="$Resources:core,shareddocuments_Folder;" /> <List FeatureId="00BFEA71-6A49-43FA-B535-D15C05500108" Type="108" Title="$Resources:core,discussions_Title;" Url="$Resources:core,lists_Folder;/$Resources:core,discussions_Folder;" QuickLaunchUrl="$Resources:core,lists_Folder;/$Resources:core,discussions_Folder;" /> <List FeatureId="00BFEA71-D1CE-42de-9C63-A44004CE0104" Type="104" Title="$Resources:core,announceList;" Url="$Resources:core,lists_Folder;/$Resources:core,announce_Folder;"> <Data> <Rows> <Row> <Field Name="Title">$Resources:onetid11;</Field> <Field Name="Body">$Resources:onetid12;</Field> <Field Name="Expires"><ows:TodayISO/></Field> </Row> </Rows> </Data> </List> <List FeatureId="00BFEA71-2062-426C-90BF-714C59600103" Type="103" Title="$Resources:core,linksList;" Url="$Resources:core,lists_Folder;/$Resources:core,links_Folder;" /> <List FeatureId="00BFEA71-EC85-4903-972D-EBE475780106" Type="106" Title="$Resources:core,calendarList;" Url="$Resources:core,lists_Folder;/$Resources:core,calendar_Folder;" QuickLaunchUrl="$Resources:core,lists_Folder;/$Resources:core,calendar_Folder;/Calendar.aspx" /> <List FeatureId="00BFEA71-A83E-497E-9BA0-7A5C597D0107" Type="107" Title="$Resources:core,taskList;" Url="$Resources:core,lists_Folder;/$Resources:core,tasks_Folder;" /> </Lists> <Modules> <Module Name="DWS" /> </Modules> <SiteFeatures> <Feature ID="00BFEA71-1C5E-4A24-B310-BA51C3EB7A57" /> </SiteFeatures> <WebFeatures> <Feature ID="00BFEA71-4EA5-48D4-A4AD-7EA5C011ABE5" /> </WebFeatures> </Configuration> </Configurations>
Если требуется, чтобы для пользователей, создающих сайт на основе конфигурации определения сайта, автоматически открывалась определенная страница, добавьте элемент ExecuteUrl в элемент Configuration. Как правило, этот элемент используется для открытия определенной настраиваемой страницы приложения, на которой пользователь может задать параметры, связанные с настраиваемым типом сайтов. Дополнительные сведения об этом элементе см. в статье Элемент ExecuteUrl (Site). Дополнительные сведения о настраиваемых страницах приложений см. в статье Application _layouts Page Type.
Добавьте дочерние элементы NavBar в элемент NavBars, чтобы настроить области навигации страниц веб-сайтов, создаваемых на основе настраиваемого определения сайта. Проще всего это сделать, скопировав элементы NavBar из одного из встроенных файлов Onet.xml во вложенных папках каталога %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates. (Элемент NavBars применяется к веб-сайтам, основанным на любой из конфигураций в определении сайта.) Дополнительные сведения об этой разметке см. в статье Элемент NavBar (Site).
Некоторые из привычных типов списков, отображаемых на сайтах собраний или блогов, были созданы до реализации функций в SharePoint Foundation. Эти типы списков указаны в элементах ListTemplate в файлах Onet.xml для определений сайтов MPS и BLOG. Если какие-либо из этих типов списков нужны в настраиваемом определении сайта, добавьте элемент ListTemplates в качестве дочернего для элемента Project, а затем скопируйте в него нужные элементы ListTemplate из файлов Onet.xml MPS и BLOG. (Не добавляйте настраиваемые элементы ListTemplate. Вместо этого создавайте настраиваемые списки в качестве функций и ссылайтесь на функцию в дочернем элементе List элемента Lists в элементе Configuration, как описано ранее.) Дополнительные сведения о разметке шаблона списка см. в статье Элемент ListTemplate (Site).
Добавьте дочерние элементы Module в основной элемент Modules непосредственно под элементом Project, чтобы при каждом создании веб-сайта настраиваемого типа он автоматически заполнялся необходимыми файлами и веб-частями "для всех пользователей" на любой добавляемый новый модуль должна быть ссылка во вторичном элементе Modules внутри элемента Configuration. Если ссылка на модуль отсутствует хотя бы в одной конфигурации, он не используется. Чтобы зарегистрировать любой из встроенных модулей, поставляемых с SharePoint Foundation, можно скопировать соответствующий элемент Module из одного из встроенных файлов Onet.xml во вложенных папках каталога %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates. Дополнительные сведения о разметке модулей см. в статье Элемент Modules (Site).
Если требуется, чтобы на страницах веб-сайтов, создаваемых на основе настраиваемого определения, отображалась определенная настраиваемая область верхнего колонтитула, настройте атрибут AlternateHeader элемента Project. Дополнительные сведения см. в статье Элемент Project (Site).
Если требуется, чтобы на страницах веб-сайтов, создаваемых на основе настраиваемого определения, использовались настраиваемые функции ECMAScript (код JavaScript или Microsoft JScript), такие как настройка меню Правка, настройте атрибут CustomJSUrl элемента Project. Дополнительные сведения см. в статье Элемент Project (Site).
Если требуется запретить на страницах веб-сайтов, создаваемых на основе настраиваемого определения, определенные типы функций Microsoft SharePoint Designer или других приложений конструктора (такие как резервное копирование или создание дочернего сайта), настройте атрибут DisableWebDesignFeatures элемента Project. Дополнительные сведения см. в статье Элемент Project (Site).
Можно создать настраиваемые определения каскадных таблиц стилей (CSS) для использования на веб-сайтах, создаваемых на основе определения, создав CSS-файл с уникальным именем в папке %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\LCID\STYLES, где LCID — числовой код языка, например 1033 для английского. Скопируйте в этот новый файл содержимое CSS-файла по умолчанию, указанного в ASPX-страницах определения сайта, и добавьте или обновите стили в новом CSS-файле. Используйте атрибут AlternateCSS элемента Project для указания пути к новому CSS-файлу. Пример приведен ниже.
AlternateCSS = "/_layouts/[%=System.Threading.Thread.CurrentThread.CurrentUICulture.LCID%]/styles/MyStyles.css">
Настройка страниц сайта
Дважды щелкните в обозревателе решений файл default.aspx. Его можно изменить необходимым образом, в том числе указать настраиваемую главную страницу. Дополнительные сведения о настройте страниц сайта см. в статье Сайты и страницы.
Если на веб-сайтах, основанных на настраиваемом типе сайтов, при создании должны автоматически использоваться другие типы страниц, добавьте в проект необходимые дополнительные страницы ASPX. Для этого щелкните правой кнопкой мыши узел Определение сайта (не имя проекта) в обозревателе решений и добавьте файл с именем custompage.aspx. При этом файл будет гарантированно зарегистрирован в манифесте пакета и развернут при развертывании решения в нужное расположение.
Если в решение включена настраиваемая главная страница, важно правильно добавить ее в проект, чтобы манифест решения развертывал ее в правильное расположение. Щелкните правой кнопкой мыши имя проекта в обозревателе решений (а не в узле Определение сайта) и последовательно выберите пункты Добавить и Сопоставленная папка SharePoint.
В диалоговом окне Добавление сопоставленной папки SharePoint выберите папку TEMPLATE\GLOBAL и нажмите кнопку ОК.
В обозревателе решений щелкните правой кнопкой мыши узел GLOBAL и добавьте новый файл с расширением .master. В узле GLOBAL будет создан новый файл, который затем будет зарегистрирован в манифесте пакета решения.
Откройте новую главную страницу и добавьте разметку. Дополнительные сведения о настраиваемых главных страницах см. в статье Главные страницы.
Развертывание и тестирование определения сайта
В меню Построение выберите пункт Развернуть решение. При этом все файлы будут автоматически развернуты в нужные расположения, а веб-приложение будет перезапущено.
Совет Если среда разработки является фермой с несколькими серверами, а не односерверной, Visual Studio добавит решение в коллекцию решений фермы в приложении центра администрирования, но не будет развертывать его. Выполните развертывание решения в центре администрирования.
Добавьте в ферму разработки сайт, основанный на одной из конфигураций в настраиваемом определении сайта. В пользовательском интерфейсе для создания нового сайта должны отобразиться новые типы сайтов. В рассматриваемом примере должны отобразиться типы Сайт совместных исследований и Рабочая область для документов исследований в категории Исследования и разработка.
Локализация настраиваемых определений сайтов
Сведения о создании локализованных версий настраиваемого определения сайта см. в статье Практическое руководство. Создание локализованных версий настраиваемых определений сайтов.
См. также
Концепции
Типы сайтов: веб-шаблоны и определения сайтов
Обзор создания настраиваемых определений веб-сайтов
Принятие решения о выборе нескольких определений или нескольких конфигураций