Поделиться через


Типы контента сайта и списка

Дата последнего изменения: 21 ноября 2010 г.

Применимо к: SharePoint Foundation 2010

В этой статье
Типы контента сайта
Типы контента списка
Последствия добавления типа контента сайта в список

Доступно на сайте SharePoint Online

Создание типов контента и управление ими осуществляется на уровне сайта. При создании нового типа контента и добавлении его в коллекцию типов контента сайта он становится типом контента сайта. На этом этапе тип контента становится доступен для добавления в списки и библиотеки документов, но еще не добавлен.

При добавлении типа контента сайта в список Microsoft SharePoint Foundation создает в этом списке локальную копию типа контента сайта и добавляет ее в список. Этот локальный экземпляр называется типом контента списка и применяется только к тому списку, в который он был скопирован.

Типы контента сайта

Созданный тип контента, добавленный в коллекцию типов контента сайта, становится доступен для любого дочернего сайта и сайта, на котором он был создан. Например, если создать тип контента сайта на корневом сайте семейства веб-сайтов, этот тип становится доступен на любом сайте в иерархии сайтов. Если добавить новый тип контента на нижестоящий в иерархии сайт, он будет доступен на самом этом сайте и любых расположенных ниже него в иерархии сайтах. Дополнительные сведения см. в статье Область определения типа контента.

Чтобы просмотреть список типов контента, доступных на сайте, выберите команду Параметры сайта в пользовательском интерфейсе. На странице Параметры сайта перейдите в раздел Коллекции, а затем выберите элемент Типы контента сайта. Чтобы получить аналогичный список программным способом, создайте объект, представляющий сайт. Для этого создайте экземпляр класса SPWeb в серверном коде или класса Web в клиентском коде. После этого выполните итерацию по коллекции, возвращаемой свойством AvailableContentTypes этого объекта.

Коллекция, возвращаемая свойством AvailableContentTypes, доступна только для чтения. Это связано с тем, что эта коллекция содержит не только типы контента, определенные на текущем сайте, на также и типы, определенные на вышестоящих сайтах в иерархии. Чтобы добавить новый или удалить существующий тип контента, требуется ссылка на коллекцию, которую можно изменить. Для этого требуется обратиться к свойству ContentTypes объекта сайта. Для добавления типов контента в коллекцию, возвращаемую этим свойством, вызовите метод Add, а для удаления типов контента — метод Delete.

Дополнительные сведения о добавлении типов контента сайта см. в статье Практическое руководство. Добавление типа контента на сайт. Дополнительные сведения об удалении типов контента сайта см. в статье Delete.

ПримечаниеПримечание

Для создания типа контента на сайте и управления им необходимо иметь для этого сайта права доступа Веб-разработчик. Более точно, на том сайте, где находится тип контента сайта, требуются права доступа Управление списками и Добавление и настройка страниц.

Типы контента списка

Как и для каждого сайта, для каждых списка или библиотеки на сайте существует коллекция типов сайта. Чтобы добавить тип контента для списка или библиотеки, следует добавить его в коллекцию типов контента списка или библиотеки соответственно.

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

После подготовки списка по-прежнему можно добавлять типы контента в коллекцию типов контента списка, однако такие типы должны уже существовать в виде типов контента сайта, находящихся в области действия списка. Существование таких типов можно проверить на странице Параметры списка пользовательского интерфейса для списка с включенными типами контента. В разделе Типы контента этой страницы представлена ссылка Добавить из существующих типов контента сайта. По этой ссылке осуществляется переход на страницу, на которой можно выбрать доступные типы контента сайта и добавить их в коллекцию типов контента списка.

Важное примечаниеВажно!

Перед добавлением типа контента сайта в список следует убедиться, что список поддерживает типы контента. Для этого в пользовательском интерфейсе выберите элемент Параметры списка и элемент Дополнительные параметры. В разделе Разрешить управление типами контента выберите параметр Да. Чтобы сделать то же самое программным способом, получите ссылку на объект SPList в серверном коде или объект List в клиентском коде. После этого присвойте свойству ContentTypesEnabled значение true.

Чтобы добавить в список тип контента сайта программным способом, выберите тип контента в коллекции, возвращаемой свойством AvailableContentTypes объекта SPWeb (сервер) или Web (клиент). Затем добавьте тип контента в коллекцию списка. Для этого обратитесь к свойству ContentTypes объекта списка и вызовите метод Add объекта коллекции. Дополнительные сведения см. в статье Добавление типа контента в список.

ПримечаниеПримечание

Чтобы добавить тип контента к списку, необходимо иметь для этого списка права Администратор списка.

Важно знать, что нельзя добавлять каждый доступный для определенного сайта тип контента в любые списки или библиотеки на этом сайте. Каждый добавляемый в библиотеку документов тип контента должен наследоваться от встроенного типа контента "Документ". Наоборот, тип контента, добавляемый в список, не должен быть производным от типа "Документ". Дополнительные сведения см. в статье Базовая иерархия типов контента.

Последствия добавления типа контента сайта в список

При добавлении типа контента сайта в список или библиотеку SharePoint Foundation создает локальные копии всех столбцов, на которые ссылается этот тип, и добавляет их в поля списка. Дополнительные сведения см. в статье Поля и ссылки на поля.

Кроме того, SharePoint Foundation создает локальную копию типа контента сайта и добавляет копию коллекции типов контента в список. Новый тип контента списка представляет собой дочерний объект для типа контента сайта. Значение свойства Id для типа контента списка отличается от значения свойства Id для его родительского типа контента сайта. В противном случае такие типы контента являются одинаковыми.

Тот факт, что типы контента списка часто являются производными от типов контента сайта, накладывает определенные ограничения на процесс управления изменениями. Одним из последствий этого являются сложности, возникающие при применении настроек типов контента списка к другим спискам. Например, пользователь может добавить новый столбец в тип контента списка. Это изменение будет применено только к типу контента для этого списка. Новый столбец не будет добавлен к типу контента сайта, производным от которого является этот тип контента списка. Это касается и любых других изменений в производном типе контента, которые никогда не передаются к родительскому типу контента.

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

В связи с этим во многих случаях рекомендуется применять изменения на уровне сайта и ограничить возможности настройки на уровне списка.

Дополнительные сведения о распространении изменений в типах контента см. в статье Обновление типов контента. Пример обнаружения уровня использования типа контента см. в описании метода SPContentTypeUsage.GetUsages.

См. также

Задачи

Практическое руководство. Добавление типа контента на сайт

Добавление типа контента в список

Концепции

Область определения типа контента

Создание типов контента

Добавление столбцов к спискам в типах контента